码迷,mamicode.com
首页 > 数据库 > 详细

【51CTO/BBS】SQL 语句中有没有清除控制台显示(返回)数据的命令啊??

时间:2014-12-04 06:41:28      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:参数   exec   

原帖地址: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

【51CTO/BBS】SQL 语句中有没有清除控制台显示(返回)数据的命令啊??

标签:参数   exec   

原文地址:http://ultrasql.blog.51cto.com/9591438/1586056

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!