国产探花免费观看_亚洲丰满少妇自慰呻吟_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存儲過程


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺义区| 台中市| 鞍山市| 绥化市| 二连浩特市| 常德市| 萨嘎县| 新乡县| 车致| 洪泽县| 平武县| 大连市| 政和县| 贵港市| 喜德县| 太白县| 安宁市| 彭山县| 五台县| 华亭县| 龙岩市| 综艺| 达尔| 美姑县| 青州市| 宁海县| 聂荣县| 衡东县| 久治县| 滨海县| 宁阳县| 南宁市| 环江| 延川县| 垦利县| 安庆市| 南皮县| 德清县| 浙江省| 科尔| 台山市|