我创建了一个存储过程来删除主键。
这就是我所做的:
ALTER PROCEDURE uspQueries
(@TableName sysname)
AS
BEGIN
DECLARE @MyQuery VARCHAR(MAX);
DECLARE @MyConstraint VARCHAR(25);
SET @MyConstraint = 'PK_' + CAST (@TableName AS VARCHAR(25) );
SET @MyQuery = 'ALTER TABLE ' + QUOTENAME(@TableName) + ' DROP CONSTRAINT ' + @MyConstraint + ' WITH ( ONLINE = OFF )';
PRINT @MyQuery + CHAR(10) + @MyConstraint
END;
我使用
执行它EXEC uspQueries QUERYBL
打印命令向我显示查询文本和约束:
ALTER TABLE [QUERYBL]
DROP CONSTRAINT PK_QUERYBL WITH ( ONLINE = OFF )
PK_QUERYBL
对我来说看起来还不错。然而钥匙并没有消失。如果我运行查询
ALTER TABLE [QUERYBL]
DROP CONSTRAINT PK_QUERYBL WITH ( ONLINE = OFF )
直接钥匙立刻消失。
我的错误是什么?
谢谢您的帮助
真蠢!我忘记执行语句了!