BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_A
(
a char(10) NOT NULL,
b char(10) NOT NULL,
c char(10) NOT NULL,
d char(10) NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.A)
EXEC('INSERT INTO dbo.Tmp_A (a, b, c, d)
SELECT a, b, c, d FROM dbo.A TABLOCKX')
GO
DROP TABLE dbo.A
GO
EXECUTE sp_rename N'dbo.Tmp_A', N'A', 'OBJECT'
GO
ALTER TABLE dbo.A ADD CONSTRAINT
PK_A PRIMARY KEY CLUSTERED
(
a,
b,
c
) ON [PRIMARY]GO
COMMIT
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_A
(
a char(10) NOT NULL,
b char(10) NOT NULL,
c char(10) NOT NULL,
d char(10) NULL
) ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.A)
EXEC('INSERT INTO dbo.Tmp_A (a, b, c, d)
SELECT a, b, c, d FROM dbo.A TABLOCKX')
GO
DROP TABLE dbo.A
GO
EXECUTE sp_rename N'dbo.Tmp_A', N'A', 'OBJECT'
GO
ALTER TABLE dbo.A ADD CONSTRAINT
PK_A PRIMARY KEY CLUSTERED
(
a,
b,
c
) ON [PRIMARY]GO
COMMIT
alter table a drop constraint constriant_name
alter table a add constraint pk_a primary key(a,b,c)
不需要赋值给一个字符串变量
left join sysobjects c on a.parent_obj=c.id left join syscolumns d on
a.parent_obj=d.id and b.colid=d.colid
where a.xtype='C' AND d.Name='字段名' and c.Name='表名'
这样就可查出所有表及哪个字段上的约束.