最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

sql存儲(chǔ)過程詳解

 更新時(shí)間:2014年08月06日 09:09:51   投稿:hebedich  
這一篇要總結(jié)的是存儲(chǔ)過程,包括存儲(chǔ)過程有哪幾種,如何創(chuàng)建,以及最后如何調(diào)用存儲(chǔ)過程。所以分為以下幾個(gè)方面進(jìn)行總結(jié)。

1,不帶參數(shù)的存儲(chǔ)過程

2,帶輸入?yún)?shù)的存儲(chǔ)過程

3,帶輸入和輸出參數(shù)的存儲(chǔ)過程

4,帶返回值的存儲(chǔ)過程

不帶參數(shù)的存儲(chǔ)過程

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

存儲(chǔ)過程代碼:

USE TSQLFundamentals2008;
GO

IF OBJECT_ID('usp_ProcDemoNoParam','P') IS NOT NULL DROP PROC usp_ProcDemoNoParam;
GO
-- 1,不帶參數(shù)
CREATE PROC usp_ProcDemoNoParam
AS
BEGIN
  SELECT * FROM HR.Employees;
END
GO

調(diào)用代碼:

USE TSQLFundamentals2008;
GO

-- 1,不帶參數(shù)存儲(chǔ)過程的調(diào)用
EXEC usp_ProcDemoNoParam;

結(jié)果:

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

帶輸入?yún)?shù)的存儲(chǔ)過程

例如,該存儲(chǔ)過程接受輸入?yún)?shù)@empid,然后返回這個(gè)職員的信息。

創(chuàng)建存儲(chǔ)過程代碼:

IF OBJECT_ID('usp_ProcDemoWithInputParam','P') IS NOT NULL DROP PROC usp_ProcDemoWithInputParam;
GO
-- 2,帶輸入?yún)?shù)
CREATE PROC usp_ProcDemoWithInputParam
  @empid AS INT
AS
BEGIN
  SELECT * FROM HR.Employees
  WHERE empid= @empid;
END
GO

調(diào)用:

-- 2,帶輸入?yún)?shù)存儲(chǔ)過程調(diào)用
EXEC usp_ProcDemoWithInputParam @empid=5;

結(jié)果:

帶輸入和輸出參數(shù)的存儲(chǔ)過程

例如,以下存儲(chǔ)過程接受@empid即職員ID作為輸入?yún)?shù),然后返回該職員的信息,同時(shí)返回代碼受影響行數(shù)作為輸出參數(shù)。

創(chuàng)建存儲(chǔ)過程代碼:

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

調(diào)用:

-- 3,帶輸入和輸出參數(shù)存儲(chǔ)過程的調(diào)用
DECLARE @nums AS INT;
EXEC usp_ProcDemoWithInputOutputParam @empid=5,@NumRowsAffected= @nums OUTPUT;
SELECT @nums AS nums;

結(jié)果:

帶返回值的存儲(chǔ)過程

例如,以下存儲(chǔ)過程接受@empid即職員ID作為輸入?yún)?shù),然后判斷職員表中是否存在該職員的記錄,如果存在則返回1,否則返回0.

創(chuàng)建存儲(chǔ)過程代碼:

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

調(diào)用:

-- 4,帶返回值存儲(chǔ)過程的調(diào)用
DECLARE @status AS INT=0; --給默認(rèn)值為0
EXEC @status= dbo.usp_ProcDemoWithReturnValue @empid = 5 -- int
SELECT @status AS thestatus;

結(jié)果:

相關(guān)文章

最新評(píng)論

喀喇沁旗| 昌黎县| 九江县| 济宁市| 天镇县| 南通市| 天津市| 囊谦县| 铜鼓县| 遂宁市| 左权县| 阳江市| 沈阳市| 山阳县| 鄱阳县| 荔波县| 库尔勒市| 张掖市| 泊头市| 固安县| 铜陵市| 九江市| 忻州市| 咸宁市| 峨边| 湖州市| 龙里县| 颍上县| 兰溪市| 长丰县| 丰宁| 陵水| 奈曼旗| 政和县| 如东县| 台江县| 明星| 尼木县| 海伦市| 沙河市| 正蓝旗|