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 康文 閱讀(221) 評論(0)  編輯  收藏 所屬分類: 數據庫

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

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 辽中县| 新野县| 云梦县| 安陆市| 顺义区| 横峰县| 黄冈市| 松溪县| 娄底市| 平顺县| 赤水市| 闽侯县| 黑河市| 平昌县| 榆树市| 类乌齐县| 泸州市| 华安县| 鲁甸县| 泉州市| 高陵县| 肃宁县| 茂名市| 水城县| 图木舒克市| 资源县| 台东市| 昌平区| 巴里| 定结县| 巴林右旗| 张家界市| 西贡区| 洛川县| 赤水市| 沁阳市| 常山县| 阿瓦提县| 德钦县| 祁阳县| 大宁县|