SqlServer存储过程

本文详细介绍了SQL存储过程的创建与调用方法,包括参数传递、内部变量使用、异常处理机制等,并通过具体实例演示了如何在存储过程中进行条件判断和数值运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /* 
 * 少年游   周邦彦
 * 并刀如水,吴盐胜雪,纤手破新橙。
 * 锦幄初温,兽烟不断,相对坐调笙。
 * 低声问:向谁行宿?城上已三更。
 * 马滑霜浓,不如休去,直是少人行。
 */

1.首先新建存储过程

CREATE PROCEDURE [dbo].[Test]   --存储过程的名字
	--传入的参数
	@ID varchar(50), 
	@Number float = null,
	@Tes varchar(2000) output,
	@Res varchar(2000) output  --output 是输出
AS
DECLARE @Run varchar(2000)  --存储过程中的内部变量
--begin是存储过程真正开始的地方 以end结束  中间可以嵌套多个begin end
BEGIN

	SET NOCOUNT ON;  --设置‘n行受影响’ 为关闭

	if (@ID = '1')
	SELECT @Tes = 'ID是1'
	else
	SELECT @Tes = 'ID不是1'
	begin try
	SELECT @Res = 1/@Number
	end try
	begin catch
	SELECT @Res = 'Number为0'
	end catch
	return
END
GO

2.调用存储过程

declare @m_viewcount varchar(2000),@m_hotcount varchar(2000)
exec dbo.Test '1',0,@m_viewcount output,@m_hotcount output

查看执行结果

select @m_viewcount as a,@m_hotcount as b

3.结果
在这里插入图片描述
4.详解创建存储过程
(1)存储过程 和 函数 是有区别的
(2)第一个begin开始代表着存储过程的开始 最后一个end 代表着 整个存储过程的结束
(3)执行到return会直接跳出存储过程 return后面必须是int类型的
(4)SELECT 相当于是一个赋值语句
(5)SQL异常处理:begin try和end try之间的SQL语句出错,会执行begin catch和end catch之间的语句
(6)DECLARE 修饰的变量 是内部变量 要放在AS后面
(7)@Number float = null 意思是既可以传入float 也可以传入null

5.详解调用储存过程
(1)declare 定义一个接受output的变量
(2)exec执行储存过程 后面的是传入参数,
(3)最后的select @m_viewcount as a,@m_hotcount as b 是显示出来结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值