Oracle存储过程
--存储过程的优点 1、简化复杂的操作。 2、增加数据的独立性。 3、提高安全性。 4、提高性能。 --存储过程的语法 create [or replace ] procedure proc_name (parameter_name [in datatype {:=default} ] | [out | in out] [nocopy] datatype) {[is | as ]} 声明变量列表... Begin --Body函数体 end; parameter_name :参数名。 in | OUt |IN out datatype {:=default} :in 是输入参数;out 输出参数;in out 输入输出参数;:=default 给参数赋默认值。 --查看 serveroutput设置是否有效。也就是dbms_output.put_line是否可以成功输出。 show serveroutput; --结果如下,表示serveroutput没有打开 serveroutput off --打开语句 set serveroutput on 显示:serveroutput on size unlimited format word_wrapped 说明设置成功。 --查看创建的存储过程是否有错误的语句 show errors procedure proc_name; --无参存储过程 create or replace procedure proc_test as v_id number(8,2); begin select * from table_name where id=v_id; end; --执行存储过程的方法 方法一: begin proc_test; end; 方法二: exec proc_test; --在存储过程中动态执行DDL语句 execute immediate [执行语句]。 execute immediate :关键字用于在存储过程中执行DDL语句和DML语句。 --实例 execute immediate 'create table tab_test (id int,name nvarchar2(20))'; --有参存储过程实例 create or replace procedure proc_Test1 (v_id in number(10,2),v_name out nvarchar2(20)) as begin select name into v_name from table_name where id=v_id; end; --执行有参存储 declare v_name nvarchar2(10); begin proc_Test1(1,v_name); --v_name是返回的信息 end ; --删除存储过程 drop procedure proc_name; --触发器的执行顺序 1、首先触发语句级触发器。 2、执行前行级触发器。 3、后行级触发器。 4、后语句级触发器。
将一些逻辑问题使用代码实现
浙公网安备 33010602011771号