加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer 存储过程简单使用

发布时间:2020-12-12 13:25:26 所属栏目:MsSql教程 来源:网络整理
导读:? ? 声明变量 ? declare @@名称 类型 例如:declare @@MyId int? if exists(语句) --- else --- begin 语句 end 插入语句试返回自增键 ;set @@MyId?=@@IDENTITY --创建存储过程 /*USE [NorthWind ] GO CREATE PROC spEmployee AS SELECT * FROM dbo.Orders;*

? ? 声明变量 ? declare @@名称 类型

例如:declare @@MyId int?


if exists(语句)

---

else

---

begin

语句

end



插入语句试返回自增键


;set @@MyId?=@@IDENTITY



--创建存储过程
/*USE [NorthWind ]
GO
CREATE PROC spEmployee
AS
SELECT * FROM dbo.Orders;*/
--执行存储过程
/*EXEC spEmployee*/
--删除存储过程
/*DROP PROC spEmployee*/

--创建存储过程并指定参数
/*USE Test1;
GO
CREATE PROC spEmployeeByName
@LastName int
AS
SELECT * FROM dbo.Persons p
JOIN dbo.Orders o
ON p.Id_P =o.Id_P
WHERE p.Id_P=@LastName;*/
--执行存储过程
EXEC spEmployeeByName 3


--给参数设定初始值
/*USE Test1
GO
CREATE PROC aa
@lastName varchar(50)= 'g'
AS
SELECT * FROM Persons
WHERE Persons.LastName LIKE @lastName +'%'
*/
--执行存储过程
/*EXEC aa A*/
--移除存储过程
/*DROP PROC aa*/


--给参数设定初始值
/*USE Test1
GO
CREATE PROC dd
@lastName varchar(20) = null
AS
IF @lastName IS NOT NULL
SELECT * FROM Persons
WHERE LastName LIKE @lastName +'%'
ELSE
SELECT * FROM Persons*/
--执行存储过程
/*EXEC dd e*/
--移除存储过程
DROP PROC dd



递归

--存储过程

CREATE PROC spTriangular
@ValueIn int,
@ValueOut int OUTPUT
AS
DECLARE @InWorking int;
DECLARE @OutWorking int;
IF @ValueIn!=1
BEGIN
SELECT @InWorking = @ValueIn-1;
EXEC spTriangular @InWorking,@OutWorking OUTPUT;
SELECT @ValueOut = @ValueIn+@OutWorking;
END
ELSE
BEGIN
SELECT @ValueOut =1;
END
RETURN;
GO


--调用

DECLARE @WorkingOut int; DECLARE @WorkingIn int; SELECT @WorkingIn = 5; EXEC spTriangular @WorkingIn,@WorkingOut OUTPUT; PRINT CAST(@WorkingIn AS varchar)+'Triangular is ' +CAST(@WorkingOut AS varchar )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读