set serveroutput on
exec 存储过程名
exec 存储过程名
解决方案 »
- 求助:不定行按条件合并成一行,谢谢!
- sql优化的问题..求助~~
- 一条sql语句去重复的记录的问题 高手帮解决
- 创建库时报ORA-01092: ORACLE instance terminated. Disconnection forced 错误,小女子用我所有的分求答案,请个位多帮忙.
- 问一个关于rowlock的问题
- imp 工具导入数据库,把带有外键的表的外键约束自动删除了,如何避免这个问题呀
- 问个简单的查询语句.
- 如何在一个oracle数据库中,查询当前数据库的服务名字?
- 为什么我的 Oracle9i里面没发现RMAN该咋办?
- 一个时间段语句怎么写啊?在线等待
- oracle 中copy命令的使用方法?
- 急!oracle安装问题请高手指点!
SQL>declare
输出参数定义
begin
存储过程名(入参,出参);
end;
/
来执行
exec proname
过程名(参数);
end;
或者
EXEC 存储过程名;
SQL>EXEC 存储过程名;
EXEC 存储过程名(入参);有返回参数的:
declare
输出参数定义
begin
存储过程名(入参,出参);
end;
具体过程如下
CREATE OR REPLACE PROCEDURE "SCOTT"."TEST5" (outp out
rsq_tab1%rowtype)
is
begin
delete rsq_tab1;
insert into rsq_tab1 values('test','成功廖');
select col1,col2 into outp from rsq_tab1;
end;但是如何调用呢,更具体说是如何传递参数
我尝试如下
SQL> exec SCOTT.TEST5
BEGIN SCOTT.TEST5; END; *
ERROR 位于第 1 行:
ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'TEST5' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
declare
aa rsq_tab1%rowtype;
begin
SCOTT.TEST5(aa);
dbms_output.put_line(aa);
end;我尝试这样声明变量后执行
ERROR 位于第 2 行:
ORA-06550: 第 2 行, 第 4 列:
PLS-00201: 必须说明标识符 'RSQ_TQB1'
ORA-06550: 第 2 行, 第 4 列:
PL/SQL: Item ignored
ORA-06550: 第 4 行, 第 13 列:
PLS-00320: 此表达式的类型说明不完整或格式不正确
ORA-06550: 第 4 行, 第 1 列:
PL/SQL: Statement ignored
aa rsq_tab1.col_name%type;
begin
SCOTT.TEST5(aa);
dbms_output.put_line(aa);
end;
/
declare
aa rsq_tab1.col_name%type;
〈〈〈
To beckhambobo(beckham)可是我的存储过程的外参就是rsq_tab1%rowtype呀
CREATE OR REPLACE PROCEDURE "SCOTT"."TEST5" (outp out
rsq_tab1%rowtype)