以前没怎么写过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;