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