为什么要判断ms sql server 判断表/视图/存储过程是否存在
2个回答
展开全部
这种判断一般用于创建 表/视图/存储过程 之前。
为了让一个完整脚本不会出错,先做一个判断,在已有这个 表/视图/存储过程 的名称的情况下需要跳出整个过程或另行其他方案。
还有一个特别普遍的应用就是创建表:
USE dbTest
GO
IF OBJECT_ID ('testTable') IS NOT NULL
DROP TABLE testTable
GO
CREATE TABLE testTable(
column1 CHAR (5) NOT NULL,
column2 VARCHAR (10) NOT NULL
)
GO
这样创建表的好处就是:不必再去写一个Alter Table脚本留存而且如果有重复就删掉,保证脚本运行正常。流程控制严格的公司都用这种方式部署,比较便于管理。
坏处就是:有重要数据还是要备份的。
视图/存储过程也是同理。
随着使用越多你就会发现没有无用的语句,只是你没有遇到相应的情况。
为了让一个完整脚本不会出错,先做一个判断,在已有这个 表/视图/存储过程 的名称的情况下需要跳出整个过程或另行其他方案。
还有一个特别普遍的应用就是创建表:
USE dbTest
GO
IF OBJECT_ID ('testTable') IS NOT NULL
DROP TABLE testTable
GO
CREATE TABLE testTable(
column1 CHAR (5) NOT NULL,
column2 VARCHAR (10) NOT NULL
)
GO
这样创建表的好处就是:不必再去写一个Alter Table脚本留存而且如果有重复就删掉,保证脚本运行正常。流程控制严格的公司都用这种方式部署,比较便于管理。
坏处就是:有重要数据还是要备份的。
视图/存储过程也是同理。
随着使用越多你就会发现没有无用的语句,只是你没有遇到相应的情况。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询