命令已成功完成

时间:2011-12-06 04:11:07

标签: sql sql-server stored-procedures

我已经编写了下面给出的存储过程....它应该使用PRINT命令打印我正在打印的值。而是打印这些值,当我从查询分析器执行此过程时,它显示'命令已成功完成'。您能否建议对代码或其他解决方案进行任何修改

提前致谢... :)

CREATE PROCEDURE  getPullCords(@start_dt varchar(25),@end_dt varchar(25))
 AS
declare @t varchar(25),@p varchar(50),@v int
declare @mycur CURSOR

SET @mycur  =  CURSOR FAST_FORWARD
FOR
select timestamp,point_id,_val from tcf1_pullcord where timestamp between @start_dt and @end_dt

OPEN @mycur
FETCH NEXT FROM @mycur
INTO @t,@p,@v

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @t
PRINT @p
PRINT @v
FETCH NEXT FROM @mycur
INTO @t,@p,@v
END

CLOSE @mycur
DEALLOCATE @mycur

GO

5 个答案:

答案 0 :(得分:3)

print语句的输出不会进入查询结果窗口。我使用查询分析器(与管理工作室相比)已经有一段时间了,但是找一个单独的“消息”选项卡,你应该在那里找到你的打印输出。

答案 1 :(得分:2)

运行命令:

select timestamp,point_id,_val from tcf1_pullcord where timestamp between @start_dt and @end_dt
单独

(用@start_dt@end_dt变量替换您正在测试的值)。它会返回任何行吗?如果没有,程序永远不会进入while循环并打印任何内容。

如果确实返回行,请尝试在循环外部放置PRINT'test'以确保其行为正确。

答案 2 :(得分:2)

在查询窗口中右键单击&gt;连接&gt;断开。然后按F5或执行;登录将显示。登录。如果您首先收到错误消息,请添加<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div> <ul> <li> <a href="#"><span class="link">Home</span></a> </li> <li> <div class="link for_content" id="content1">Link 1</div> </li> <li> <div class="link for_content" id="content2">Link 2</div> </li> <li> <div class="link for_content" id="content3">Link 3</div> </li> </ul> </div> <div> <div class="content content1" style="display: none"> <h1> CONTENT 1 </h1> </div> <div class="content content2" style="display: none"> <h1> CONTENT 2 </h1> </div> <div class="content content3" style="display: none"> <h1> CONTENT 3 </h1> </div> </div>语句或修复错误,然后重试上述步骤。现在,您的光标将至少执行一次,并在您需要再次执行这些步骤之前显示结果。

如果您在同一会话期间再次执行,您会注意到相同的消息:

USE

非常奇怪的错误......

答案 3 :(得分:1)

无论你写什么打印数据都是正确的。

但是,如果有要打印的数据,则表示正在打印,您将无法使用打印的数据Results标签。

要查看打印数据,请选择结果部分的Messages标签。

感谢。

答案 4 :(得分:0)

存储过程打印成功完成命令的问题,而不是在查看此线程时返回结果集并考虑解决方案。我张贴以防万一其他人可以受益。

我的问题是传递的参数大小大于我传递给它的变量。这是通过我的存储过程运行所有逻辑参数,因为它没有符合任何条件。