標籤:
create or replace procedure pr_test1 isv_case number(3) := 100;--定義變數begin-- /*判斷語句if 2>1 then dbms_output.put_line(‘條件成立‘); else dbms_output.put_line(‘條件不成立‘); end if; if 2<1 then dbms_output.put_line(‘條件成立‘);elsif 4>3 then dbms_output.put_line(‘條件不成立1‘); end if; elsif 4 > 2 then dbms_output.put_line(‘條件不成立2‘); elsif 7>3 then dbms_output.put_line(‘條件不成立3‘); end if;-- */ case v_case --定義v_case when 1 then --當v_case為1時 dbms_output.put_line(‘條件成立12‘);--輸出 when 100 thendbms_output.put_line(‘條件成立112‘);else--其他匹配都不成立時dbms_output.put_line(‘條件不成立,條件不匹配!‘);end case;case when 8>7 then dbms_output.put_line(‘8>7成立‘); when 9>8 then dbms_output.put_line(‘9>8成立‘); else dbms_output.put_line(‘都不成立‘);end case;<<loop1>>--標籤,只是為了標註退出的是迴圈loop1loop v_case := v_case - 1; dbms_output.put_line(‘v_case的值 = ‘||v_case);--if(v_case = 90) then--dbms_output.put_line(‘退出迴圈‘);exit loop1 when v_case = 90;--end if; end loop; while v_case >80 loop v_case :=v_case - 1; dbms_output.put_line(‘v_case的值 = ‘||v_case); end loop;for inx in 1..20 loop--定義一個變數從1開始一直到20 v_case := v_case + inx; dbms_output.put_line(‘v_case的值 = ‘||v_case); end loop;for inx in reverse 1..20 loop--從大到小開始,從20開始一直到1v_case := v_case + inx; dbms_output.put_line(‘v_case的值 = ‘||v_case);end loop;end pr_test1;
if判斷語句 case語句 迴圈語句使用方式
create or replace procedure pr_test5 isbegin update t_hq_ryxx set bumbm = ‘103‘ where bumbm is null;--where 是判斷條件if sql%rowcount > 0 then dbms_output.put_line(‘更新了 ‘||sql%rowcount||‘ 條記錄‘);else dbms_output.put_line(‘更新了 0 條記錄‘);end if;commit;--提交語句end pr_test5;
資料的更新操作
--通過輸入編號進行相關內容的匹配,匹配成功後輸出相關內容create or replace procedure pr_test3(v_bh in varchar2,v_xx in out varchar2) isbegin --定義輸入輸出xingm變數為v_xm 並將bianh為變數v_bh ,輸入的是編號,與bumbm匹配才可以輸出配上的姓名 select xingm into v_xx from t_hq_ryxx where bianh = v_bh and bumbm = v_xx; if sql%found then dbms_output.put_line(‘尋找到le資料!‘); else dbms_output.put_line(‘未尋找到資料‘); end if; exception when no_data_found then dbms_output.put_line(‘未尋找到資料‘); dbms_output.put_line(‘sqlcode:‘||sqlcode);--錯誤碼 dbms_output.put_line(‘sqlerrm:‘||sqlerrm);--錯誤資訊 when others then dbms_output.put_line(‘尋找出錯‘); dbms_output.put_line(‘sqlcode:‘||sqlcode);--錯誤碼 dbms_output.put_line(‘sqlerrm:‘||sqlerrm);--錯誤資訊end pr_test3;create or replace procedure pr_test4(v_bh in varchar2) isv_xm t_hq_ryxx.xingm%type;begin v_xm :=‘102‘; pr_test3(v_bh,v_xm); dbms_output.put_line(‘‘||v_xm);end pr_test4;
oracle子程式資料關聯及異常處理
oracle基礎代碼使用