sql个人总结4

说到sql,无疑存储过程很重要,这篇就和大家讨论储存过程。

1:储存过程

a:不带参数的储存过程

USE test
GO
CREATE PROCEDURE WLY    --储存过程,不带参数
AS
SELECT * FROM role
GO

b:带参数的储存过程

USE test
GO
CREATE PROCEDURE WLY1 
@A INT
AS 
DECLARE @B INT
SET @B=1
SET @A=@B
PRINT @A
GO

c:带有输出参数的储存过程

USE test
GO
CREATE PROCEDURE WLY2 
@A INT OUTPUT    --输出参数值的参数
AS 
DECLARE @B INT
SET @B=1
select @A=@B
PRINT @A
GO

d:存储过程的一些参数

SP_HELP WLY1    --返回储存过程的名称,时间,参数等
SP_HELPTEXT WLY1 --返回储存过程的创建语句
SP_RENAME WLY,WLY2  --重命名储存过程
GO

e:执行储存过程

execute dbo.WLY
EXECUTE WLY1 1 --有参数的储存过程
DECLARE @C INT    --带参数的输出
EXECUTE WLY2 @C OUTPUT
GO

2:游标

DECLARE C_ROLE CURSOR SCROLL
FOR SELECT RID,RNAME FROM ROLE
FOR READ ONLY
DECLARE @COUNT INT,@VRID INT,@VRNAME VARCHAR(1)
OPEN C_ROLE
FETCH NEXT FROM C_ROLE
INTO @VRID,@VRNAME
SET @COUNT=0
WHILE @@FETCH_STATUS=0
BEGIN 
    PRINT @VRID
    PRINT @VRNAME
    PRINT @COUNT
    SET @COUNT=@COUNT+1
    FETCH NEXT FROM C_ROLE INTO @VRID,@VRNAME
END
CLOSE C_ROLE
DEALLOCATE C_ROLE
GO 

我感觉游标的使用尽量的避免,因为是取出数据再存起来,如果数据量很大的话就不好了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值