存储过程知识总结【一】

/*====================================================
*描述:            存储过程知识点总结,以Northwind数据库的Employees表为例
======================================================*/

--========================1.没有参数的存储过程================
create procedure usp_NoParameterSelect
as
begin
select * from dbo.Employees
end

GO

--========================执行测试========================
EXECUTE usp_NoParameterSelect

GO
--=======================2.带参数的存储过程===================

create procedure usp_ParameterSelect
(
@employeeID INT
)
as

begin
select * from dbo.Employees
where EmployeeID = @employeeID
end

--=======================执行测试===========================
EXECUTE usp_ParameterSelect 1

GO
--=======================3.带多个参数的存储过程==================

create procedure usp_MultiParameterSelect
@employeeID INT,
@employeeFirstName nvarchar(10)--要加上参数类型的长度
as
begin
select * from dbo.Employees
where EmployeeID = @employeeID
and FirstName = @employeeFirstName
end

--========================执行测试===========================
EXECUTE usp_MultiParameterSelect 1,'Nancy'

GO

--=======================4.output输出存储过程====================
create procedure usp_OutputSelect
@employeeID int ,
@employeeFirstName nvarchar(10) output
as
begin
select @employeeFirstName = FirstName from Employees
where EmployeeID = @employeeID
end

--=======================执行测试=============================
declare @name nvarchar(10)
execute usp_OutputSelect 1,@name output
select @name as name
GO

--======================5.return输出存储过程======================

create procedure usp_ReturnSelect
@employeeFirstName nvarchar(10)
AS
begin
declare @employeeID INT
select @employeeID = EmployeeID from Employees
where FirstName = @employeeFirstName

return @employeeID --**返回值必须是INT类型**
end

GO

--======================执行测试===============================
declare @employeeID INT
execute @employeeID = usp_ReturnSelect 'Nancy'
print @employeeID

GO

--=====================6.同时有output和return输出的存储过程=============

create procedure usp_OutputAndReturnSelect
@firstName nvarchar(10),
@lastName nvarchar(20) output
as
begin
declare @employeeID INT;

select @employeeID = EmployeeID,@lastName=LastName from Employees
where FirstName = @firstName

return @employeeID
end

GO

--======================执行测试================================
declare @employeeID INT
declare @lastName nvarchar(20)
execute @employeeID = usp_OutputAndReturnSelect 'Nancy',@lastName output
select @employeeID,@lastName


/*===========================================================
*****************************未完待续***************************************
*============================================================*/

转载于:https://www.cnblogs.com/ucos/p/3512965.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值