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)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 台前县| 会宁县| 唐山市| 台南市| 理塘县| 丰都县| 丹阳市| 安庆市| 克东县| 土默特左旗| 信阳市| 沽源县| 朝阳县| 西藏| 来凤县| 五常市| 亚东县| 固镇县| 渭南市| 盐城市| 田林县| 斗六市| 阿拉善左旗| 江津市| 彰化市| 滨州市| 新竹市| 吉林市| 仙居县| 武隆县| 台山市| 乐至县| 龙州县| 筠连县| 奉贤区| 庄河市| 阿勒泰市| 江门市| 江都市| 石嘴山市| 蒲江县|