国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > 数据库应用 > sql个人总结4

sql个人总结4

来源:程序员人生   发布时间:2015-03-13 08:04:01 阅读次数:2515次

说到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:存储进程的1些参数

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

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


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生