oracle存储过程触发器
① oracle 在存储过程中可以调用触发器么
oracle 在存储过程中可以调用触发器
触发器之所以叫触发器就是因为他不能被调用,当然,如果存储过程中有ddl语句达到了触发某一个触发器的条件,触发器就会被触发
② oracle中可否在触发器中执行存储过程
理论上是可以的.
-
这个跟sql Server是一样的道理
-
触发器套存储过程:
cerate trigger tri_name
on tablename
for Action
as
create procere proc_name
as
....
....
这个存储过程里面就不能接受参数了
③ oracle 存储过程与触发器
触发器脚本中createTable_Sp();中没有用变量获取返回参数
修改成
data_file varchar(4000);
tablespace_name varchar(4000);
v_sql varchar(4000);
createTable_Sp(data_file ,tablespace_name ,v_sql );
④ oracle中如何创建人员存储过程并在触发器中调用
创建表:create table person(name varchar2(20),ename varchar2(20),email varchar2(50));
1. 用存储过程完成插入逻辑
create or replace procere person_insert(p_name varchar2,p_ename varchar2,p_email varchar2) is
begin
insert into person values(p_name,p_ename,p_email);
end if;
end person_insert;
2. 如果是简单操作,用存储过程插入意义不大,可以直接用insert语句
3. 触发器一般在被动修改时,或插入做数据校验时用,很少会出现你描述的那种情形
即用触发器调用存储过程来实现插入
⑤ oracle触发器调用存储过程报错
call
和exce
调用
存储过程
是在slqplus及command窗口里面,在程序及sql窗口里面
用begin
end调用,或者采用动态执行的方法调用
你直接调用即可,不需call