MS SQL中的returnoutput的學習
生活随笔
收集整理的這篇文章主要介紹了
MS SQL中的returnoutput的學習
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
/*output的應用*/CREATE?PROCEDURE?[dbo].[sp_output]
(
???@i?char(1)='1',
???@a?varchar(5)=null?output
)
?AS
begin
??if(@i='1')
????set?@a='aaaaa'
??else
????set?@a='bbbbb'
end
GO
/*存儲過程內調用*/
CREATE?PROCEDURE?[dbo].[test_output]
(
??@i?char(1)='1'
)
?AS
begin
??declare?@b?varchar(5)
??exec?sp_output?@i,@b?output
??print?@b
end
GO
/*sql?script?調用*/
declare?@a?varchar(5)
exec?sp_output?'2',@a?output
print?@a
/*return的應用*/
CREATE?PROCEDURE?[dbo].[sp_return]
(
???@i?char(1)='1'
)
?AS
begin
??/*
??--return只能返回一個int類型的值,相反output則可以傳回更多類型的值
??無條件退出查詢或程序。RETURN?是立即而完整的,而且可在任何時刻用於退出程序、批次,或陳述式封鎖。
??其中附隨有?RETURN?的陳述式不會被執行。
??*/
??
??if(@i='1')
????return?1
??else
????return?0
end
GO
/*存儲過程內調用*/
CREATE?PROCEDURE?[dbo].[test_return]
(
??@i?char(1)='1'
)
?AS
begin
??declare?@b?varchar(5)
??exec?@b=sp_return?@i
??if?(@b=1)
????print('aaaaa')
??else
????print('bbbbb')
end
GO
/*sql?script?調用*/
declare?@b?int
exec?@b=sp_return?'1'
if?(@b=1)
??print('aaaaa')
else
??print('bbbbb')
/*return?&?output同時應用*/
CREATE?PROCEDURE?[dbo].[sp_output_return]
(
???@i?char(1)='1',
???@a?varchar(5)=null?output
)
?AS
begin
??if(@i='1')
??begin
????set?@a='aaaaa'
????return?1
??end
??else
??begin
????set?@a='bbbbb'
????return?0
??end
end
GO
/*存儲過程內調用*/
CREATE?PROCEDURE?[dbo].[test_output_return]
(
??@i?char(1)='1'
)
?AS
begin
??declare?@b?int
??declare?@a?varchar(5)
??exec?@b=sp_output_return?@i,@a?output
??print(@a)
??print(@b)
end
GO
/*sql?script?調用*/
declare?@a?varchar(5)
declare?@b?int
exec?@b=sp_output_return?'1',@a?output
print?@a
print?@b
轉載于:https://www.cnblogs.com/Athrun/archive/2008/06/10/1216682.html
總結
以上是生活随笔為你收集整理的MS SQL中的returnoutput的學習的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统诊断概述-如何通过windbg来du
- 下一篇: 工作流技术杂谈 --- 2008