存储过程通用结构模板【参考】
备注:实际存储过程中有些部分不需要,请自行取舍。
CREATE PROCEDURE CP_XXname_Suf
/*=================================================================================
功能:
日期:
备注:
==================================================================================*/
--参数(格式:@参数名称 类型)
@Param_name1 NVARCHAR(100)
,@Param_name2 NVARCHAR(300)
,@Param_a INT
,@Param_b INT
,@MSG NVARCHAR(300)
,@Param_sum INT OUT --返回参数 (也可用RETURN )
AS
BEGIN --存储过程----[BEGIN]----------------------------------------------------------------------------
-- 定义变量 DECLARE,赋值 SET,执行EXEC(@sql),返回RETURN,打印PRINT
DECLARE @sql nvarchar(4000)
DECLARE @sql2 nvarchar(4000)
SET @sql='select * from '+@Param_name1;
----------------------------------------------------------------------------------------------------
--IF条件判断
IF (@Param_a>@Param_b)
BEGIN
SET @MSG='OK';
END
ELSE
BEGIN
SET @MSG='NO';
END
----------------------------------------------------------------------------------------------------
--WHILE循环
DECLARE @ID int --循环因子
DECLARE @ID_Min int --循环开始值
DECLARE @ID_Max int --循环结束值
SET @ID_Min=10
SET @ID_Max=100
SET @ID=@ID_Min-1
WHILE @ID<=@ID_Max
BEGIN
SET @ID=@ID+1
IF EXISTS(select * from proj_name_list where ID=@ID)
BEGIN
--这里添加执行SQL块
SET @MSG='OK'
END
END
------------------------------------------------------------------------------------------------------
--创建临时表
--方法1
IF OBJECT_ID('tempdb..#tmp') IS NOT NULL DROP TABLE #tmp
CREATE table #tmp(name varchar(255),ID int);
INSERT INTO #tmp(name,ID)values('name1',10);
INSERT INTO #tmp(name,ID)values('name2',20);
--方法2
IF OBJECT_ID('tempdb..#tmp2') IS NOT NULL DROP TABLE #tmp2
SELECT * INTO #tmp2 FROM #tmp;
SELECT * FROM #tmp2;
--释放临时表
DROP TABLE #tmp;
DROP TABLE #tmp2;
------------------------------------------------------------------------------------------------------
SELECT @MSG;
RETURN @MSG;
END --存储过程----[END]---------------------------------------------------------