国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

全方位解析sql存儲過程

2024-08-31 01:02:17
字體:
來源:轉載
供稿:網友
這一篇要總結的是存儲過程,包括存儲過程有哪幾種,如何創建,以及最后如何調用存儲過程。所以分為以下幾個方面進行總結。
 
 

1,不帶參數的存儲過程

2,帶輸入參數的存儲過程

3,帶輸入和輸出參數的存儲過程

4,帶返回值的存儲過程

不帶參數的存儲過程

例如,以下存儲過程返回Employees表中所有職員的記錄。

存儲過程代碼:

USE TSQLFundamentals2008;GOIF OBJECT_ID('usp_ProcDemoNoParam','P') IS NOT NULL DROP PROC usp_ProcDemoNoParam;GO-- 1,不帶參數CREATE PROC usp_ProcDemoNoParamASBEGIN  SELECT * FROM HR.Employees;ENDGO

調用代碼:

USE TSQLFundamentals2008;GO-- 1,不帶參數存儲過程的調用EXEC usp_ProcDemoNoParam;

結果:

全方位解析sql存儲過程

可以看到,共返回了9條記錄。

帶輸入參數的存儲過程

例如,該存儲過程接受輸入參數@empid,然后返回這個職員的信息。

創建存儲過程代碼:

IF OBJECT_ID('usp_ProcDemoWithInputParam','P') IS NOT NULL DROP PROC usp_ProcDemoWithInputParam;GO-- 2,帶輸入參數CREATE PROC usp_ProcDemoWithInputParam  @empid AS INTASBEGIN  SELECT * FROM HR.Employees  WHERE empid= @empid;ENDGO

調用:

-- 2,帶輸入參數存儲過程調用EXEC usp_ProcDemoWithInputParam @empid=5;

結果:

全方位解析sql存儲過程

帶輸入和輸出參數的存儲過程

例如,以下存儲過程接受@empid即職員ID作為輸入參數,然后返回該職員的信息,同時返回代碼受影響行數作為輸出參數。

創建存儲過程代碼:

IF OBJECT_ID('usp_ProcDemoWithInputOutputParam','P') IS NOT NULL DROP PROC usp_ProcDemoWithInputOutputParam;GO-- 3,帶輸入和輸出參數CREATE PROC usp_ProcDemoWithInputOutputParam  @empid AS INT,  @NumRowsAffected AS INT OUTPUTASBEGIN  SELECT * FROM HR.Employees  WHERE empid= @empid;    SET @NumRowsAffected= @@ROWCOUNT; -- 賦值,也可以使用select賦值ENDGO

調用:

-- 3,帶輸入和輸出參數存儲過程的調用DECLARE @nums AS INT;EXEC usp_ProcDemoWithInputOutputParam @empid=5,@NumRowsAffected= @nums OUTPUT;SELECT @nums AS nums;

結果:

全方位解析sql存儲過程

帶返回值的存儲過程

例如,以下存儲過程接受@empid即職員ID作為輸入參數,然后判斷職員表中是否存在該職員的記錄,如果存在則返回1,否則返回0.

創建存儲過程代碼:

IF OBJECT_ID('usp_ProcDemoWithReturnValue','P') IS NOT NULL DROP PROC usp_ProcDemoWithReturnValue;GO-- 4,帶返回值CREATE PROC usp_ProcDemoWithReturnValue  @empid AS INTASBEGIN  IF EXISTS (SELECT * FROM HR.Employees WHERE empid=@empid)    RETURN 1  ELSE    RETURN 0; -- 也可以聲明一個變量,然后返回這個變量ENDGO

調用:

-- 4,帶返回值存儲過程的調用DECLARE @status AS INT=0; --給默認值為0EXEC @status= dbo.usp_ProcDemoWithReturnValue @empid = 5 -- intSELECT @status AS thestatus;

結果:

全方位解析sql存儲過程


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安西县| 滦平县| 凤庆县| 凉城县| 柳林县| 正阳县| 浙江省| 乳源| 广饶县| 顺义区| 乳山市| 漯河市| 天水市| 承德市| 桦南县| 潮州市| 双流县| 江永县| 华安县| 张家港市| 翼城县| 贺兰县| 富顺县| 教育| 广水市| 深泽县| 潜山县| 清新县| 门源| 乌兰县| 沁源县| 南康市| 安徽省| 宜黄县| 高台县| 彭山县| 泾源县| 河间市| 新巴尔虎右旗| 门源| 丹东市|