创建用户定义的数据类型可以使用
Transact-SQL
语句。系统存储过程
sp_addtype
可以来创建用户定义的数据类型。其语法形式如下:
sp_addtype {type},[,system_data_bype][,’null_type’]
其中, type 是用户定义的数据类型的名称。 system_data_type 是系统提供的数据类型,例如 Decimal 、 Int 、 Char 等等。 null_type 表示该数据类型是如何处理空值的,必须使用单引号引起来,例如 ’NULL’ 、 ’NOT NULL’ 或者 ’NONULL’ 。
例子:
Use cust
Exec sp_addtype ssn,’Varchar(11)’,"Not Null’
创建一个用户定义的数据类型 ssn ,其基于的系统数据类型是变长为 11 的字符,不允许空。
例子:
Use cust
Exec sp_addtype birthday,datetime,’Null’
创建一个用户定义的数据类型 birthday ,其基于的系统数据类型是 DateTime ,允许空。
例子:
Use master
Exec sp_addtype telephone,’varchar(24),’Not Null’
Eexc sp_addtype fax,’varchar(24)’,’Null’
sp_addtype {type},[,system_data_bype][,’null_type’]
其中, type 是用户定义的数据类型的名称。 system_data_type 是系统提供的数据类型,例如 Decimal 、 Int 、 Char 等等。 null_type 表示该数据类型是如何处理空值的,必须使用单引号引起来,例如 ’NULL’ 、 ’NOT NULL’ 或者 ’NONULL’ 。
例子:
Use cust
Exec sp_addtype ssn,’Varchar(11)’,"Not Null’
创建一个用户定义的数据类型 ssn ,其基于的系统数据类型是变长为 11 的字符,不允许空。
例子:
Use cust
Exec sp_addtype birthday,datetime,’Null’
创建一个用户定义的数据类型 birthday ,其基于的系统数据类型是 DateTime ,允许空。
例子:
Use master
Exec sp_addtype telephone,’varchar(24),’Not Null’
Eexc sp_addtype fax,’varchar(24)’,’Null’
创建两个数据类型,即 telephone 和 fax
删除用户定义的数据类型
当用户定义的数据类型不需要时,可删除。删除用户定义的数据类型的命令是 sp_droptype {’type’}。
例子:
Use master
Exec sp_droptype ’ssn’
注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。
以下为SQL SERVER7.0以上版本的字段类型说明。SQL SERVER6.5的字段类型说明请参考SQL SERVER提供的说明。
字段类型 描述