在操作之前存在表
Posted
技术标签:
【中文标题】在操作之前存在表【英文标题】:Existence of a table before an operation 【发布时间】:2019-09-04 09:11:22 【问题描述】:我想对表的存在进行测试以执行以下操作:
如果(表存在)那么我的操作将是插入到表中
否则我会做的:
select * into Table from MySource
我们如何使用 SQL 执行此操作?
当我检查表的存在时:
IF EXISTS (SELECT * FROM Table)
print 'OK'
Else
Print 'KO'
当表不存在时,我没有得到 KO。
【问题讨论】:
【参考方案1】:IF(OBJECT_ID('[Your Table]') IS NOT NULL)
PRINT 'OK'
ELSE
PRINT 'NOK'
【讨论】:
【参考方案2】:IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'yourschema'
AND TABLE_NAME = 'yourtable'))
BEGIN
PRINT 'OK'
ELSE
PRINT 'KO'
END
【讨论】:
您错过了第一个BEGIN
的“END”,也错过了ELSE
部分的BEGIN
我们没有得到 KO以上是关于在操作之前存在表的主要内容,如果未能解决你的问题,请参考以下文章