修改SQLServer的默认约束,如果存在首先删除再添加
今天有人问,写写看了,顺便自己备个份
IF EXISTS(SELECT * FROM SysObjects WHERE Name='CloveTest')
DROP TABLE CloveTest
GO
CREATE TABLE CloveTest
(CNO INT PRIMARY KEY IDENTITY(1,1),
Cname VARCHAR(20),
TestValue VARCHAR(20))
GO
--Insert Test
INSERT INTO CloveTest(TestValue) VALUES('One')
GO
--Show Test Value
SELECT * FROM CloveTest
GO
--ADD Constaint
ALTER TABLE CloveTest ADD DEFAULT 'Clove' FOR Cname
GO
--Insert Test
INSERT INTO CloveTest(TestValue) VALUES('Two')
GO
--Show Test Value
SELECT * FROM CloveTest
GO
--Drop Any Constraint On Column Cname
IF EXISTS(select name from sysobjects where xtype='d' AND ID IN (
SELECT Constid FROM SysConstraints WHERE ID=Object_id('CloveTest') AND Colid IN (
SELECT Colid FROM SysColumns WHERE ID=Object_id('CloveTest') AND name='Cname')))
BEGIN
DECLARE @ConstraintName VARCHAR(100)
DECLARE @RunSql VARCHAR(200)
SET @ConstraintName=(select name from sysobjects where xtype='d' AND ID IN (
SELECT Constid FROM SysConstraints WHERE ID=Object_id('CloveTest') AND Colid IN (
SELECT Colid FROM SysColumns WHERE ID=Object_id('CloveTest') AND name='Cname')))
SET @RunSql = 'ALTER TABLE CloveTest DROP CONSTRAINT '+@ConstraintName
EXECUTE(@RunSql)
END
GO
--Insert Test
INSERT INTO CloveTest(TestValue) VALUES('THREE')
GO
--Show Test Value
SELECT * FROM CloveTest
| 分享到: | |
没有评论