【问题标题】: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。

【问题讨论】:

    标签: sql-server select sql-insert exists


    【解决方案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
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      相关资源
      最近更新 更多