//存储过程
create or replace procedure createTable_Sp
(
data_file out varchar,
tablespace_name out varchar,
v_sql out varchar
)
is
begin
data_file:='D:\test.dbf';
tablespace_name:='Test';
v_sql:='create tablespace'||tablespace_name||'
logging
datafile ""||data_file||""
size 32m
autoextend on
extent management local';
Execute Immediate v_sql;
end createTable_Sp;
//触发器
create or replace trigger create_tablespace
after insert
on student
for each row
begin
createTable_Sp();
end;
最后编译触发器时报错报错了,错误如下
错误:PLS-00306: 调用 'CREATETABLE_SP' 时参数个数或类型错误
有谁能解决??
oracle 存储过程与触发器
答案:3 悬赏:10 手机版
解决时间 2021-02-05 04:24
- 提问者网友:趣果有间
- 2021-02-04 05:01
最佳答案
- 五星知识达人网友:狂恋
- 2021-02-04 05:44
触发器脚本中createTable_Sp();中没有用变量获取返回参数
修改成
data_file varchar(4000);
tablespace_name varchar(4000);
v_sql varchar(4000);
createTable_Sp(data_file ,tablespace_name ,v_sql );
修改成
data_file varchar(4000);
tablespace_name varchar(4000);
v_sql varchar(4000);
createTable_Sp(data_file ,tablespace_name ,v_sql );
全部回答
- 1楼网友:刀戟声无边
- 2021-02-04 06:51
调用时没输入参数 ?
- 2楼网友:往事埋风中
- 2021-02-04 06:21
call 和exce 调用存储过程是在slqplus及command窗口里面,在程序及sql窗口里面
用begin end调用,或者采用动态执行的方法调用
你直接调用即可,不需call
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯