sql個(gè)人總結(jié)4
來(lái)源:程序員人生 發(fā)布時(shí)間:2015-03-13 08:04:01 閱讀次數(shù):2997次
說(shuō)到sql,無(wú)疑存儲(chǔ)進(jìn)程很重要,這篇就和大家討論貯存進(jìn)程。
1:貯存進(jìn)程
a:不帶參數(shù)的貯存進(jìn)程
USE test
GO
CREATE PROCEDURE WLY --貯存進(jìn)程,不帶參數(shù)
AS
SELECT * FROM role
GO
b:帶參數(shù)的貯存進(jìn)程
USE test
GO
CREATE PROCEDURE WLY1
@A INT
AS
DECLARE @B INT
SET @B=1
SET @A=@B
PRINT @A
GO
c:帶有輸出參數(shù)的貯存進(jìn)程
USE test
GO
CREATE PROCEDURE WLY2
@A INT OUTPUT --輸出參數(shù)值的參數(shù)
AS
DECLARE @B INT
SET @B=1
select @A=@B
PRINT @A
GO
d:存儲(chǔ)進(jìn)程的1些參數(shù)
SP_HELP WLY1 --返回貯存進(jìn)程的名稱(chēng),時(shí)間,參數(shù)等
SP_HELPTEXT WLY1 --返回貯存進(jìn)程的創(chuàng)建語(yǔ)句
SP_RENAME WLY,WLY2 --重命名貯存進(jìn)程
GO
e:履行貯存進(jìn)程
execute dbo.WLY
EXECUTE WLY1 1 --有參數(shù)的貯存進(jìn)程
DECLARE @C INT --帶參數(shù)的輸出
EXECUTE WLY2 @C OUTPUT
GO
2:游標(biāo)
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
我感覺(jué)游標(biāo)的使用盡可能的避免,由于是取出數(shù)據(jù)再存起來(lái),如果數(shù)據(jù)量很大的話就不好了。
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)