求高手注释已存储过程
USE [UPhoneCloud_Data]
GO
/****** Object: StoredProcedure [dbo].[U_Sp_StoresLogSeelct] Script Date: 10/12/2012 19:37:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[U_Sp_StoresLogSeelct]
@UserId INT,
@StoresId INT,
@DateType INT,
@PageSize INT,
@PageIndex INT,
@Count INT OUTPUT,
@AppId INT
AS
DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
SET @PageLowerBound=@PageSize * (@PageIndex-1)
SET @PageUpperBound=@PageLowerBound + @PageSize + 1
CREATE TABLE #TableStoresLog
(
IndexId int IDENTITY(1,1) NOT NULL,
StoresLogId int
)
DECLARE @SQL NVARCHAR(1000)
SET @SQL='SELECT StoresLogId FROM U_StoresLog U WHERE 1=1'
IF @UserId<>0
BEGIN
SET @SQL=@SQL + ' AND UserId ='+CAST(@UserId AS NVARCHAR(50))+''
END
IF @StoresId<>0
BEGIN
SET @SQL=@SQL + ' AND StoresId ='+CAST(@StoresId AS NVARCHAR(50))+''
END
IF @DateType<>0
BEGIN
IF @DateType=1
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(dd,LogAddtime,GETDATE())=0'
END
IF @DateType=2
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(mm,LogAddtime,GETDATE())=0'
END
IF @DateType=3
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(wk,LogAddtime,GETDATE())=0'
END
IF @DateType=4
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(yy,LogAddtime,GETDATE())=0'
END
END
IF @AppId<>0
BEGIN
SET @SQL=@SQL + ' AND ((AppId ='+CAST(@AppId AS NVARCHAR(50))+') OR (SELECT COUNT(StoresLogId) FROM U_StoresLog WHERE APPID='+CAST(@AppId AS NVARCHAR(50))+' AND LogLevel=U.StoresLogId )>0)'
END
SET @SQL=@SQL +' AND LogLevel=0 ORDER BY LogAddtime DESC'
INSERT INTO #TableStoresLog (StoresLogId) EXEC(@SQL)
SELECT U.* FROM U_StoresLog U , #TableStoresLog WHERE U.StoresLogId=#TableStoresLog.StoresLogId
AND #TableStoresLog.IndexId>@PageLowerBound AND #TableStoresLog.IndexId<@PageUpperBound
SELECT @Count=COUNT(StoresLogId) FROM #TableStoresLog
RETURN @Count
GO
/****** Object: StoredProcedure [dbo].[U_Sp_StoresLogSeelct] Script Date: 10/12/2012 19:37:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[U_Sp_StoresLogSeelct]
@UserId INT,
@StoresId INT,
@DateType INT,
@PageSize INT,
@PageIndex INT,
@Count INT OUTPUT,
@AppId INT
AS
DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
SET @PageLowerBound=@PageSize * (@PageIndex-1)
SET @PageUpperBound=@PageLowerBound + @PageSize + 1
CREATE TABLE #TableStoresLog
(
IndexId int IDENTITY(1,1) NOT NULL,
StoresLogId int
)
DECLARE @SQL NVARCHAR(1000)
SET @SQL='SELECT StoresLogId FROM U_StoresLog U WHERE 1=1'
IF @UserId<>0
BEGIN
SET @SQL=@SQL + ' AND UserId ='+CAST(@UserId AS NVARCHAR(50))+''
END
IF @StoresId<>0
BEGIN
SET @SQL=@SQL + ' AND StoresId ='+CAST(@StoresId AS NVARCHAR(50))+''
END
IF @DateType<>0
BEGIN
IF @DateType=1
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(dd,LogAddtime,GETDATE())=0'
END
IF @DateType=2
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(mm,LogAddtime,GETDATE())=0'
END
IF @DateType=3
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(wk,LogAddtime,GETDATE())=0'
END
IF @DateType=4
BEGIN
SET @SQL=@SQL + ' AND DATEDIFF(yy,LogAddtime,GETDATE())=0'
END
END
IF @AppId<>0
BEGIN
SET @SQL=@SQL + ' AND ((AppId ='+CAST(@AppId AS NVARCHAR(50))+') OR (SELECT COUNT(StoresLogId) FROM U_StoresLog WHERE APPID='+CAST(@AppId AS NVARCHAR(50))+' AND LogLevel=U.StoresLogId )>0)'
END
SET @SQL=@SQL +' AND LogLevel=0 ORDER BY LogAddtime DESC'
INSERT INTO #TableStoresLog (StoresLogId) EXEC(@SQL)
SELECT U.* FROM U_StoresLog U , #TableStoresLog WHERE U.StoresLogId=#TableStoresLog.StoresLogId
AND #TableStoresLog.IndexId>@PageLowerBound AND #TableStoresLog.IndexId<@PageUpperBound
SELECT @Count=COUNT(StoresLogId) FROM #TableStoresLog
RETURN @Count
...全文
相关推荐
Mysql Sql语句注释大全
2、备份SQL:备份是数据库管理中的重要环节,可以使用SQL Server中的存储过程来创建备份。
PL/SQL存储过程语法(注释详细,例子多)
PL/SQL存储过程语法(注释详细,例子多,注释十分清楚,入门良册)PL/SQL存储过程语法(注释详细,例子多,注释十分清楚,入门良册)
二分法求方程的根(详细注释)
matlab求方程的根,注释很详细,同时利用了递归的思想,对于理解二分法原理非常有用。
存储过程小例子,有明确注释说明
个人总结的适合初学者,简单易懂,深入浅出,有明确注释说明,快速学会存储过程
存储过程修改
##### 第四步:重新注释并编译存储过程为了确保修改后的存储过程能够正常运行,再次注释掉之前用于调试的部分代码,并重新编译存储过程。


