oracle 結構設計

          1 條件分之語句
          ? 1 簡單條件判斷
          ? declare
          ?? v_sal number(6,2);
          ? begin
          ?? select sal into v_sal from emp
          ?? where lower(ename)=lower('&&name');
          ?? if v_sal<2000 then
          ??? update emp set sal=v_val+200
          ??? where lower(ename)=lower('&name');
          ?? end if;
          ? end;
          ?2 二重條件分支
          ? if v_comm<>0 then
          ????? .....
          ? else
          ???? ........
          ? end if;
          ?3 多重條件分支
          ? IF?? THEN
          ? ELSIF?? THEN
          ? ELSIF?? THEN
          ? ELSE
          ? END IF;
          2 case 語句
          ? 1 在case 語句中使用單一選擇符進行等值比較
          ??? declare
          ????? v_deptno emp.deptno%type
          ??? begin
          ????? v_deptno:=&no;
          ????? case v_deptno
          ???????? when 10 then
          ?????????? update emp...
          ???????? when 20 then
          ?????????? update ......
          ???????? else
          ????????? dems_out.put_line('不存在該部門');
          ????? end case;
          ??? end;
          ? 2 在case 語句中使用多種比較條件
          ??? declare
          ????? v_sal emp.sal%type
          ????? v_ename emp.ename%type
          ??? begin
          ???? select ename ,sal into vv_ename,v_sal
          ???? from emp where empno=&no;
          ???? case
          ?????? when v_sal<1000 then
          ???????? update emp set ...
          ?????? when v_sal<2000 then
          ???? end case;
          3 循環語句
          ? 1 基本循環
          ?? declare
          ??? i INT:=1;
          ?? begin
          ??? loop
          ???? insert into temp valuse(1);
          ???? exit when i=10;
          ???? i:=i+1;
          ??? end loop;
          ?? end;
          ? 2 while 循環
          ??? while i<=10 loop
          ????? insert into tem valuse(i);
          ????? i:=i+1;
          ???? end loop;
          ? 3for 循環
          ??? for i in reverse 1..10 loop
          ????? insert into temp values(1);
          ??? end loop;
          4 順序控制語句
          ? 1 goto
          ??? goto label_name;
          ??? loop
          ????? ...
          ????? goto end_loop;
          ??? <<end loop>>
          ???? dbms_output
          ?? 2 null 語句不會執行任何操作,并且會直接將控制傳遞道下一條語句
          ??? if v_sal<3000 then
          ????? update emp set .....
          ??? else
          ????? null;
          ??? end if;

          posted on 2006-08-11 10:47 康文 閱讀(227) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 长治市| 绥中县| 迁西县| 新邵县| 沁阳市| 资阳市| 铜山县| 玉屏| 海丰县| 平乡县| 齐齐哈尔市| 荥阳市| 南城县| 黄梅县| 遵义县| 伊吾县| 石河子市| 海淀区| 谢通门县| 宁陕县| 德兴市| 霍林郭勒市| 涞水县| 雷山县| 建德市| 五峰| 夏津县| 永泰县| 大城县| 临泉县| 天气| 高密市| 尉犁县| 松阳县| 武功县| 永昌县| 壶关县| 原平市| 玉田县| 巍山| 巨鹿县|