sql个人总结4
来源:程序员人生 发布时间:2015-03-13 08:04:01 阅读次数:2729次
说到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
我感觉游标的使用尽可能的避免,由于是取出数据再存起来,如果数据量很大的话就不好了。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠