【问题标题】:Stored Procedure Conditions存储过程条件
【发布时间】:2012-02-22 00:37:21
【问题描述】:

我对 SQL Server 中的这件事有点不知所措。我不确定这是否可能。

好吧,我正在寻找的只是如下

  • 如果我的存储过程返回一些结果,则显示一些输出
  • 否则不显示任何内容

类似

IF EXEC (@temp) THEN 'The results are present'
ELSE ''
END IF

对此的任何意见都会有所帮助!!!

谢谢!!!

【问题讨论】:

  • 您可以检查从您的SP返回的记录计数,如果count = 0,则'' else '结果存在'
  • 是的,我正在谷歌搜索并通过 MSDN 使用可以帮助我的语法搜索....但找不到它!谢谢
  • 谢谢,我知道了 IF @@ROWCOUNT > 0 PRINT 'Results received' ELSE PRINT ''

标签: sql-server sql-server-2008 sql-server-2005 tsql sql-server-2008-r2


【解决方案1】:

获取一个临时表,并将存储过程返回的任何数据插入其中。这样你最终会写

INSERT INTO @tempTable(col1,col2) SELECT val1,val2 FROM table1

而不仅仅是

SELECT val1,val2 FROM table1

最后只检查临时表中没有记录

if exists(select * from @temptable)
 print'stored procedure returned some data'
else
 print'stored procedure did not return data'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多