動手寫procedure以及注意的細節

 

以前沒怎麼寫過procedure,現在做程序,典型程序員都習慣用
代碼,但是用代碼,一些處理肯定是不如用sql處理的快而簡單的,
在沒有熱部署的情況下,改代碼,還需要每次都編譯,很麻煩

先創建package,然後創建 package body

CREATE OR REPLACE PACKAGE test

IS

PROCEDURE testprocedure; //定義這個package中的procedure

END test;

最簡單的package可以是:
CREATE OR REPLACE PACKAGE test

IS

END test;

然後寫package body:
CREATE OR REPLACE PACKAGE BODY test
IS

PROCEDURE testprocedure

IS//is下面是準備 全局變量的地方
     //定義變量,後面要用分號隔開
    testnum table.dept_no%TYPE;//這裏可以獲取某個表的某個字段的類型來定義變量

    --使用遊標來存數據
    CURSOR cursorname 給遊標起個名字
    IS
      SELECT * from table01; //給這個遊標賦值

BEGIN
//使用遊標循環
--
    FOR v IN cursorname LOOP
        IF v.testno = 1 THEN
             v.testno := 1;//注意賦值要用的符號:=
            EXIT;
        end if;

END LOOP;
//---start 這個部分需要
COMMIT;

EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
//---end 這個部分需要 沒有的話a5裏面會報錯
END testprocedure;

END test;

發佈了582 篇原創文章 · 獲贊 168 · 訪問量 131萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章