海南华晨租车网:SQL创建自定义数据类型问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 07:06:42
SQL中查询分析器中,打命令sp_addtype 123, 'nvarchar(15)',[not null]或sp_addtype 123, 'nvarchar(15)','not null'
再去当前数据库的表中,新建表,找到所创建的数据类型123,点中后,还是显示允许空,是什么问题?
命令因该是没问题了,不知道是什么原因

sp_addtype中的null或not null只是为该数据类型定义默认的为空性,
举个例子你就明白了:
通过语句来创建表,假设定义的类型名为mytype1
create table temp
(
Id int not null ,
content mytype1
)
这个语句中,我们没有显示的指定content是否可以为空,
当在sp_addtype中指定了not null,那么现在content列就默认是不可以为空的。
同样,在sp_addtype中未指定not null,那么现在content列就是可以为空的。

当我们用如下语句创建表时
create table temp
(
Id int not null ,
content mytype1 null
)

由于我们指定了该列可以为空,那么我们在sp_addtype里所指定的not null就被忽略掉了(说忽略不太恰当)。

如果不想为空 可以再捆绑一个规则啊