【问题标题】:What can i use for a no-op in T-SQL? [duplicate]我可以在 T-SQL 中使用什么来进行无操作? [复制]
【发布时间】:2012-06-29 21:03:55
【问题描述】:

T-SQL 中什么是好的空操作?我想将它用作样板代码 sn-ps 中的占位符。例如,如果我正在提取一个查询/UDF 并且有这样的内容:

IF @parm = 1
    BEGIN
    END
IF @parm = 2
    BEGIN
    END

我会收到以下错误:

单词“END”附近的语法不正确

我可以在其中添加什么东西可以使编译器静音,即可执行?

【问题讨论】:

  • 如何打印声明 print @parm
  • @Jon Egerton:确实,但我很高兴我错过了它,因为@Abe's/@HLGEM 的建议没有包含在其中。 (我想有人应该合并这两个问题,但我不是那个元。)

标签: sql tsql syntax


【解决方案1】:

here 所述,您可以声明一个虚拟变量。它根本不应该出现在任何地方(执行计划、打印输出等):

IF @parm = 1
    BEGIN
        DECLARE @dummy1 bit
    END
IF @parm = 2
    BEGIN
        DECLARE @dummy2 bit
    END

或者,您也可以使用标签:

IF @parm = 1
    BEGIN
        noop1:
    END
IF @parm = 2
    BEGIN
        noop2:
    END

【讨论】:

  • 声明标签非常适合我。
【解决方案2】:

你可以在里面扔一个print

IF @parm = 1
    BEGIN
    print 'need to implement 1'
    END
IF @parm = 2
    BEGIN
    print 'need to implement 2'
    END

【讨论】:

    【解决方案3】:

    你也可以试试……

    WAITFOR DELAY '0:0';
    

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 2018-07-24
      相关资源
      最近更新 更多