MSSQL存储过程学习~~

ALTER PROCEDURE [dbo].[sp_get_room_fans_list]
@room_id bigint,
@start bigint,
@end bigint
AS
BEGIN
SET NOCOUNT ON;    

......

ET NOCOUNT 
使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。 

语法 
SET NOCOUNT ON OFF 

注释 
当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。 

即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。 

当 SET NOCOUNT 为 ON 时, 将不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。当使用  Microsoft SQL Server 提供的实用工具执行查 询时,在 Transact-SQL 语句(如 SELECT、INSERT、 UPDATE 和 DELETE)结束时将不会在查询结果中显 示 "XX行收到印象"。 

如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。 

SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置。 

 

WITH o AS (
SELECT TOP 5 o.user_id, SUM(CONVERT(bigint, o.out_amount)) AS amount
FROM t_user_money_out_detail o
WHERE o.out_place_id = @room_id
GROUP BY o.user_id
ORDER BY amount DESC
)

// 将查询的集合放入o中~~~然后就可以使用o.user_id进行取值

posted on 2012-03-05 11:33  泰达  阅读(217)  评论(0)    收藏  举报

导航