我试图约束添加到char(1)
SQL Server 2008中 - 加约束
数据类型我想用户只能够进入Y
或N
或n
或Y
我点击在CHECK CONSTRAINT EXPRESSION
窗口检查约束在什么我应该进入?
我试图约束添加到char(1)
SQL Server 2008中 - 加约束
数据类型我想用户只能够进入Y
或N
或n
或Y
我点击在CHECK CONSTRAINT EXPRESSION
窗口检查约束在什么我应该进入?
手动进行此类更改总是会更好,而不是通过GUI。
ALTER TABLE YourTable
ADD CONSTRAINT CHK_YourTable_YourColumn_YesOrNo CHECK(YourCOlumn IN ('Y', 'N'))
编辑:GUI可以发出最理想的DDL,并与小练习,你可以只是用手动脚本与GUI高效,你知道到底发生了什么。另外,您确实想要将所有的DDL存储在版本控制中,包括更改的脚本。
使用ALTER TABLE语句:
ALTER TABLE dbo.YOUR_TABLE
ADD CONSTRAINT bool_check CHECK (LOWER(your_column) IN ('n', 'y')) ;
alter table TableName
add constraint CHK_TableName_ColumnName check (ColumnName in ('Y','N','y','n'))
sashok,pochemu?为什么手动更好? – 2010-10-08 17:58:34
@jenny:因为你不能保证你有GUI访问,并且操作通常是特定于该工具的(IE:不能在TOAD for SQL Server中使用相同的进程等) – 2010-10-08 17:59:49
+1,'为什么是SSMS经常编写一个大规模的脚本来生成一个完整的重复的新表(使用新的更改)将所有数据复制到它中,然后删除原始表并将新表重命名为原始表名它会删除并添加所有的约束和索引等。它更容易,更快,对数据库施加更小的压力,并且学习和使用更简单的ALTER TABLE命令更可靠。 – 2010-10-08 18:22:56