sql - 未在另一个存储过程中执行的存储过程

标签 sql sql-server sql-server-2005 stored-procedures

我发现当执行 SP1 时,SP2 不会从 SP1 中执行。

SP1的结构如下:

ALTER PROCEDURE SP1 AS BEGIN

Declare c1 cursor....

open c1 fetch next from c1 ...

while @@fetch_status = 0 Begin

...

Fetch Next from c1 end

close c1

deallocate c1

exec sp2

end

如果在 SQL Server 2005 management studio 的“输出窗口”中打印它们,我看不到任何 PRINT 语句输出,因为“输出窗口”是空的。

最佳答案

如果将存储过程代码作为单个查询运行会怎样?如果在 exec 之前和之后放置一个 PRINT 语句,您会看到两个输出吗?

  • 如果这样做,则存储过程一定已经执行。可能它没有按照您的意愿行事。
  • 如果您没有看到任何打印输出,则说明循环有问题
  • 如果您没有看到第二个输出但看到了第一个,则第二个存储过程中有问题。

关于sql - 未在另一个存储过程中执行的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/170440/

相关文章:

SQL - 将具有编码文本值的行转换/转置为列

SQL Server : most frequent value in each row

sql - 如何动态决定在 SQL Server 存储过程中加入哪些表

SQL Server 加入不相关的表

c# - Hangfire 安装/启动

sql - 当子查询不存在数据时,ISNULL 或 sql server 中的任何替代方法

java - 有没有办法删除 CursorLoader() 的选择参数中自动生成的括号?

mysql - SQL根据2个表连接获取最后插入的5个项目

sql - 在 SQL Server 临时表中添加和更新后验列

sql-server - SSRS 2005 缺少 Microsoft.ReportingServices.Interfaces.dll