SQL server自定义数据类型

用户定义的数据类型要放在使用他的数据库里才有效,由于存储过程中建立的临时表会建立在tempdb里面,所以要先在tempdb里执行,再在mastrer里执行
查看用户定义的数据类型:

sql2005: select * from sys.types where is_user_defined=1
sql2000:select * from systypes where xtype<>xusertype

自定义数据类型
建立在SQL server系统数据类型基础上的,需要指定该类型的名称,建立在其上的系统数据类型及是否充许为空。
方法:利用系统存储过程:sp_addtype
语法:sp_addtype type, [ system_data_type ] [ ,’nulltype’ ]
注:

1 .type是用户定义数据类型的名称。数据类型名称必须遵循标识符规则,并且在每个数据库中必须是唯一的。
2 .system_data_type是SQL server提供的数据类型,用户定义的数据类型即基于该类型。
3 . ‘ nulltype ‘ :指定必须如何处理null值。设置null默认, not null或nonull

例1:自定义数据类型taihang
exec sp_addtype taihang,smllint, ‘ not null ‘
例2:删除自定义数据类型taihang
exec sp_droptype taihang

–创建用户定义类型方法一:
CREATE TYPE SSN
FROM varchar(11) NOT NULL ;
–删除用户定义类型
drop type SSN

–定义两个用户定义类型方法二:
exec sp_addtype iq, ‘float’, ‘null’
exec sp_addtype shoesize, ‘float’,’null’

–指定约束条件
create rule iq_range as @range between 1 and 200
create rule shoesize_range as @range between 1 and 20

–绑定约束类型
exec sp_bindrule ‘iq_range’,’iq’
exec sp_bindrule ‘shoesize_range’,’shoesize’

–删除用户定义类型
exec sp_droptype iq
exec sp_droptype shoesize

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据