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

sql存儲過程詳解

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

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

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

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

4,帶返回值的存儲過程

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

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

存儲過程代碼:

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ù)存儲過程的調(diào)用
EXEC usp_ProcDemoNoParam;

結(jié)果:

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

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

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

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

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ù)存儲過程調(diào)用
EXEC usp_ProcDemoWithInputParam @empid=5;

結(jié)果:

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

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

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

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ù)存儲過程的調(diào)用
DECLARE @nums AS INT;
EXEC usp_ProcDemoWithInputOutputParam @empid=5,@NumRowsAffected= @nums OUTPUT;
SELECT @nums AS nums;

結(jié)果:

帶返回值的存儲過程

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

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

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; -- 也可以聲明一個變量,然后返回這個變量
END
GO

調(diào)用:

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

結(jié)果:

相關(guān)文章

最新評論

双桥区| 长葛市| 阜新市| 区。| 武义县| 西林县| 张北县| 阿巴嘎旗| 类乌齐县| 湖北省| 淮阳县| 岑溪市| 元朗区| 昆明市| 长武县| 马鞍山市| 望江县| 东至县| 丰镇市| 巴林右旗| 玉门市| 夏河县| 永仁县| 宝丰县| 金门县| 高淳县| 常宁市| 沂南县| 静乐县| 大田县| 潞西市| 莆田市| 平原县| 柞水县| 松江区| 武山县| 石柱| 颍上县| 蓝山县| 威海市| 临夏县|