1. 程式人生 > >PL/SQL程式設計的變數開發

PL/SQL程式設計的變數開發

                                                                                                 PL/SQL程式設計的變數開發

PL/SQL開發走起來:


                 -----常量定義示列

DECLARE

  c_salary_rate CONSTANT NUMBER(7,2):=0.25;  ----定義加薪常量值

  v_salary NUMBER(7,2);-----定義儲存薪資結果的變數

BEGIN

  SELECT sal*(1+c_salary_rate) INTO v_salary FROM emp WHERE empno='7369';

  DBMS_OUTPUT.put_line('"加薪後的薪資:"'||'啦啦啦啦'||v_salary);    -------"加薪後的薪資:"啦啦啦啦1000

END;


DECLARE

  c_salary_rate CONSTANT NUMBER(7,2):=0.25;  ----定義加薪常量值

  v_salary NUMBER(7,2);-----定義儲存薪資結果的變數

BEGIN

  SELECT sal*(1+c_salary_rate) INTO v_salary FROM emp WHERE empno='7369';

  DBMS_OUTPUT.put_line('加薪後的薪資:'||'啦啦啦啦'||v_salary);    --------  加薪後的薪資:啦啦啦啦1000

END;



DECLARE

  c_salary_rate CONSTANT NUMBER(7,2):=0.25;  ----定義加薪常量值

  v_salary NUMBER(7,2);-----定義儲存薪資結果的變數

BEGIN

  SELECT sal*(1+c_salary_rate) INTO v_salary FROM emp WHERE empno='7369';

  DBMS_OUTPUT.put_line('"加薪後的薪資:"'||'"啦啦啦啦"'||v_salary);   ------"加薪後的薪資:""啦啦啦啦"1000

END;



DECLARE

  c_salary_rate CONSTANT NUMBER(7,2):=0.25;  ----定義加薪常量值

  v_salary NUMBER(7,2);-----定義儲存薪資結果的變數

  v_jkhtbh varchar(32):='2018010987';

BEGIN

  SELECT sal*(1+c_salary_rate) INTO v_salary FROM emp WHERE empno='7369';

  DBMS_OUTPUT.put_line('加薪後的薪資是借款合同編號{''||v_jkhtbh||''}是啦啦啦啦'||v_salary);    ----加薪後的薪資是借款合同編號{'||v_jkhtbh||'}是啦啦啦啦1000

END;

           

                            -----IF-THEN-ELSE

DECLARE

    v_count NUMBER(10):=0;---定義計數器變數

    v_empno NUMBER(4):=7788;  ----定義員工編號

BEGIN

  SELECT COUNT(1) INTO v_count FROM emp WHERE empno=v_empno;

  --使用IF語句判斷,如果員工編號不存在,結果為0

  IF v_count=0

  THEN

     --則執行INSERT語句,插入新的員工記錄

     INSERT INTO emp(empno,ename,job,hiredate,sal,deptno)values(v_empno,'張三','經理',TRUNC(SYSDATE),1000,20);

  ELSE

     UPDATE emp SET ename='張三',job='經理',hiredate=TRUNC(SYSDATE),sal=1000,deptno=20 WHERE empno=v_empno;

  END IF;

  ----向資料庫提交更改,增刪改的業務如果不commit就修改的資料只保留在會話級別

  COMMIT;

EXCEPTION

  WHEN OTHERS

  THEN 

      DBMS_output.put_line(SQLERRM);

END;                          

                            

                            

                                                   ---LOOP和EXIT使用示例

DECLARE

    v_count NUMBER(2):=0;---定義迴圈計數變數

BEGIN

    LOOP-----開始執行迴圈

        v_count:=v_count+1;----累加計數變數

    DBMS_OUTPUT.put_line('行'||v_count||':HELLO PL/SQL');

    ---如果計數條件為10,則退出迴圈

    if v_count=10 then

      exit;

    end if;

    end loop;

    DBMS_OUTPUT.put_line('迴圈已經退出了');

END;                                       

                            


                                 -----FOR-LOOP迴圈使用REVERSE

declare

      v_total INTEGER:=0;----迴圈累計彙總數字

begin

      for i in reverse 1..3          ----使用reverse從高到低迴圈

LOOP

      v_total:=v_total+1;

      DBMS_OUTPUT.put_line('迴圈累計數值:'||i);              

end loop;

---輸出迴圈結果

DNMS_OUTPUT.put_line('迴圈總計:'||v_total);

end;                            

        



declare

    v_jkhtbh varchar(32) not null:='20180999887';

begin

    null;

end;                   


今日有感:技術硬才是硬道理!學會養成目標型逆向思維!