首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

ORACLE中的历程

2012-07-05 
ORACLE中的过程可以创建包含一组SQL和PL/SQL语句的过程,过程使得业务逻辑在数据库中集中,任何能够访问数据

ORACLE中的过程

可以创建包含一组SQL和PL/SQL语句的过程,过程使得业务逻辑在数据库中集中,任何能够访问数据库的程序都可以使用过程,创建过程的语法:

CREATE [OR REPLACE] PROCEDURE procedure_name[(parameter_name [IN | OUT | IN OUT] type[, ...])]      {IS | AS}BEGIN  procedure_bodyEND procedure_name;

?

OR REPLACE说明如果该过程已经存在,则用新的过程代替它,该选项可以用来修改一个现有过程

procedure_name指定过程名

parameter_name指定参数名,可以向一个过程传递多个参数

IN | OUT | IN OUT定义参数的模式

type定义参数的类型

procedure_body包含执行过程任务的SQL和PL/SQL语句

?

下面的例子定义一个名为update_emp2_sal的过程,该过程将雇佣的工资乘以一个倍数,雇佣empno和倍数作为参数传递给过程:

CREATE OR REPLACE PROCEDURE update_emp2_sal(       p_empno IN emp2.empno%TYPE,       p_factor IN NUMBER) AS              v_emp2_count INTEGER;BEGIN  SELECT COUNT(*)  INTO v_emp2_count  FROM emp2  WHERE emp2.empno = p_empno;    --如果该编号的雇佣在表中存在,则更新工资  IF v_emp2_count = 1 THEN    UPDATE emp2    SET sal = sal * p_factor    WHERE emp2.empno = p_empno;    COMMIT;  END IF;EXCEPTION  WHEN OTHERS THEN    ROLLBACK;END update_emp2_sal;/  

?

调用过程可以用下面的语句:

CALL update_emp2_sal(7369, 2);EXEC update_emp2_sal(7369, 2);

?

获取过程相关信息:

SELECT * FROM user_procedures WHERE object_name = 'UPDATE_EMP2_SAL';

?

删除过程语句:?

DROP PROCEDURE update_emp2_sal;

?


?


?

热点排行