存儲過程的if,else怎么寫
不同的數據庫中,存儲過程中if else 語句寫法有一些差別。
如果是SQLServer數據庫,存儲過程的if, else語句可以這樣寫:
if a>b
Begin
print 'a'
End
Else if a<b
Begin
print 'b'
End
Else
Begin
print '代碼'
End Oracle 采用下面這種寫法:
IF testvalue > 100 THEN
dbms_*_line( '100+' );
ELSIF testvalue = 100 THEN
dbms_*_line( '100' );
ELSE
dbms_*_line( '100-' );
END IF;
DB2, MYSQL 是下面這種寫法: ( 與 Oracle 區別在于那個 ELSIF )
IF p_val > 100 THEN
INSERT INTO output_debug VALUES( '100+' );
ELSEIF p_val = 100 THEN
INSERT INTO output_debug VALUES( '100' );
ELSE
INSERT INTO output_debug VALUES( '100-' );
END IF;
存儲過程 if語句的使用
create proc sp_test
as
declare @_value int
select top 1 @_value = rrrid from readerinfo where readerid='s001'
if @value = 0
begin
update readerinfo set rrrid=20 where readerid='s001'
end
else
begin
update readerinfo set rrrid=0 where readerid='s001'
end
execute sp_test
轉載請注明出處華閱文章網 » 存儲過程ifthen語句