例一:
以下是引用片段:
CASEv_workdept
WHEN'A00'
THENUPDATEdepartment
SETdeptname='DATAACCESS1';
WHEN'B01'
THENUPDATEdepartment
SETdeptname='DATAACCESS2';
ELSEUPDATEdepartment
SETdeptname='DATAACCESS3';
ENDCASE;
例二:
以下是引用片段:
CASE
WHENv_workdept='A00'
THENUPDATEdepartment
SETdeptname='DATAACCESS1';
WHENv_workdept='B01'
THENUPDATEdepartment
SETdeptname='DATAACCESS2';
ELSEUPDATEdepartment
SETdeptname='DATAACCESS3';
ENDCASE;
for 表達式
for 循環名 as
游標名或select 表達式
do
sql表達式;
end for;
例:
1)
以下是引用片段:
DECLAREfullnameCHAR(40);
FORvlAS
SELECTfirstnme,midinit,lastnameFROMemployee
DO
SETfullname=lastname||','||firstnme||''||midinit;
INSERTINTOtnamesVALUE(fullname);
ENDFOR
2)
以下是引用片段:
forloopcs1ascousor1cursoras
selectmarket_codeasmarket_code
fromtb_market_code
forupdate
do
endfor;
goto表達式
goto 標示名;
標示名:
邏輯體;
例:
GOTO FAIL;
...
SUCCESS: RETURN 0
FAIL: RETURN -200
while表達式
while 條件表達式 do
邏輯體;
end while;
LOOP表達式
LOOP... END LOOP;
例:
以下是引用片段:
OPENc1;
ins_loop:
LOOP
FETCHc1INTOv_dept,v_deptname,v_admdept;
IFat_end=1THEN
LEAVEins_loop;--中斷循環
ELSEIFv_dept='D11'THEN
ITERATEins_loop;--下一個循環
ENDIF;
INSERTINTOdepartment(deptno,deptname,admrdept)
VALUES('NEW',v_deptname,v_admdept);
ENDLOOP;
CLOSEc1;
關于游標
定義游標:
DECLARE 游標名 CURSOR FOR
Select 語句;
打開游標:
OPEN 游標名;
取值:
FETCH 游標名 INTO 變量列表
文章來源于領測軟件測試網 http://www.kjueaiud.com/