Syn*_*ror 5 sql t-sql sql-server
考虑这样的SQL脚本的一部分:
IF OBJECT_ID('dbo.tableName', 'U') IS NOT NULL
ALTER TABLE [dbo].[tableName]
DROP CONSTRAINT PK_tableName
DROP TABLE dbo.tableName
Run Code Online (Sandbox Code Playgroud)
如果tableName存在,是否所有三行都被执行?我的脚本的其余部分如何进一步向下(不包括在内 - 它创建了表格); 有没有办法限制IF语句后执行的行数?我无法找到答案,因为这是一个非常模糊的搜索.
如下所示:
IF OBJECT_ID('dbo.tableName', 'U') IS NOT NULL
BEGIN
ALTER TABLE [dbo].[tableName]
DROP CONSTRAINT PK_tableName;
DROP TABLE dbo.tableName;
END
Run Code Online (Sandbox Code Playgroud)
如果你不使用BEGIN和END阻塞,只会在IF条件下处理第一个sql语句,并且每次运行它时都会执行最后的sql语句,如果tableName不存在则会出错.
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |