sql 为用户定义的数据类型绑定默认值示例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/*--示例说明
下面的示例演示了如何把默认值绑定到列和用户定义的数据类型
并且演示了修改绑定于列和用户定义的数据类型的默认值时,这两者之间的差异。
--*/

--定义数据类型
EXEC sp_addtype 'ut_age','int','null'
GO

--为ut_age定义默认值
CREATE DEFAULT df_ut_age
AS 20
GO

--将默认值绑定到用户定义的数据类型
EXEC sp_bindefault 'df_ut_age','ut_age'
GO

--使用定义的数据类型
CREATE TABLE tb(
Name nvarchar(20),
AGE_u ut_age,
AGE int)
GO

--直接将默认值绑定到列
EXEC sp_bindefault 'df_ut_age','tb.AGE'
GO

--插入数据
INSERT tb VALUES('AA',DEFAULT,DEFAULT)
INSERT tb(Name) VALUES('BB')
SELECT * FROM tb
/*--结果
Name AGE_u AGE
-------------------------------- ----------------- -----------
AA 20 20
BB 20 20
--*/
GO

--创建一个新默认值
CREATE DEFAULT df_ut_age1
AS 50
GO

--将新默认值绑定到列和用户定义的数据类型
EXEC sp_bindefault 'df_ut_age1','tb.AGE'
EXEC sp_bindefault 'df_ut_age1','ut_age',futureonly
INSERT tb(Name) VALUES('CC')
SELECT * FROM tb
/*--结果
绑定到列的默认值在新增数据时立即生效
使用futureonly绑定默认值到用户定义数据类型时时,不影响表中已经定义的列
Name AGE_u AGE
-------------------- ----------- -----------
AA 20 20
BB 20 20
CC 20 50
--*/
GO

--删除测试
DROP TABLE tb
EXEC sp_droptype 'ut_age'
DROP DEFAULT df_ut_age,df_ut_age1

相关文档
最新文档