存儲過程的一般定義
2024-07-21 02:45:03
供稿:網友
一般存儲過程定義包括如下幾部分:
1. 存儲過程名稱
CREATE PROCEDURE procedure_name
或者:Create proc procedure_name
2.參數,輸入參數,輸出參數
@parameter_name1 int, //輸入參數定義,包括名稱,類型及長度
@parameter_name2= defual_value varchar(80) //輸入參數,帶默認值
@parameter_out int output //輸出的參數
AS //as后面部分是存儲過程具體內容
3.內部參數定義,定義方式如2,需定義名稱及,類型,長度
Declare
@Parameter_inter1 int,
@Parameter_inter2 varchar(30)
4.初始化內部參數:
Set @Parameter_inter1 =5,
//可以取得需要的值以存在內部參數中:
SELECT @parameter_inter2=table.column FROM table WHERE …….
5.具體操作語句,一般都包括以下幾種流程控制語句(if else | select case | while ):
===============Select ... CASE(多條件) 實例:============
DECLARE @iRet INT, @PKDisp VARCHAR(20)
SET @iRet = '1'
Select @iRet =
CASE
WHEN @PKDisp = '一' THEN 1
WHEN @PKDisp = '二' THEN 2
WHEN @PKDisp = '三' THEN 3
WHEN @PKDisp = '四' THEN 4
WHEN @PKDisp = '五' THEN 5
ELSE 100
END
========== While(循環) 實例:====================
DECLARE @i INT
SET @i = 1
WHILE @i<1000000
BEGIN
set @i=@i+1 //更改條件,比做
END
-- 打印
PRINT @i
============= If(單條件)處理例子:================
IF @strTO<>'' //條件
BEGIN
UPDATE UNIT SET UNIT_NAME=REPLACE(UNIT_NAME,'*','')
WHERE UNIT_CODE=@strTO
END
ELSE BEGIN
UPDATE UNIT SET UNIT_NAME=UNIT_NAME+'*' WHERE UNIT_CODE='011'
END
6.最后是 :
Go
使用存儲過程:
Execute procedure_name
帶參數為:
Execute procedure_name ‘parameter1_value’,’paramerter2_ value’
或者:
Exec procedure_name paramerter1=’parameter1_value’,
parameter2=’ paramerter2_ value’
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/bestxulei/archive/2009/12/22/5053562.aspx