【51CTO/BBS】SQL 语句中有没有清除控制台显示(返回)数据的命令啊??
原帖地址:http://bbs.51cto.com/viewthread.php?tid=1133377&extra=&page=1
问题描述:
随着学习的进步,SQL语句变得越来越复杂。
一个SQL存储过程中,很可能调用多个存储过程。导致返回的数据凌乱不堪。
请教如何清除掉,这些不需要的返回显示的数据。
特别是用 其它编程语言调用SQL时,会导致无法获取到正确的返回数据集。.....
例如:
【存储过程A】有多个SELECT语句,
SELECT @A;
EXEC @A=dbo.[存储过程B] @B OUTPUT; --此[存储过程B]中也包含了SELECT 语句
SELECT @B,@A;
我要只返回显示"SELECT @B,@A; "的结果,应该怎么写?
解决方案:
如何去掉OUTPUT输出?
用INSERT EXEC去拼接
CREATE TABLE #Temp ( outputData varchar(MAX) ) GO INSERT INTO #Temp ( outputData ) EXEC master.sys.xp_cmdshell ‘?‘
注意:INSERT EXEC语句不能嵌套,请小心使用。
如何控制SELECT结果集的输出?
加个参数判断是否回传结果
CREATE PROCEDURE NSP_TEST @IsReturn BIT = 1 -- 是否回传結果 AS BEGIN IF @IsReturn = 1 BEGIN SELECT * FROM TableName END END GO EXEC NSP_TEST @IsReturn = 0
本文出自 “SQL Server Deep Dives” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1586056
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。