如果没有输出变量,简单一些:
sql> exec p_test('abc', 123);这样就ok了
sql> exec p_test('abc', 123);这样就ok了
解决方案 »
- ORACLE 11G RAC 安装蓝屏报错,能远程最好~
- 跪求一道题目的sql语句
- Oralce 的存储过程语法有错误,求救!
- 求助:宽表生成处理部分的后台程序
- 如何让Oracle从文件恢复的时候,将本来的主键也一并恢复?
- ORACLE 10i XE 安装时 ERROR 1335 DATA1.CAB丢失,致命错误,安装失败 ?
- 很困难select 语句问题?
- 在LINUX上如何在程序中判断与数据库的连接是否正常
- 如何用sql语句编译某个存储过程?
- 比对两张表数据,判断谁比谁多,记录新表
- 表A、B,库结构相同, 将A的记录导入B,同时将A的记录删除,一条SQL语句可以吗?
- 如何查看一个用户执行中和执行过的sql语句
sql> exec p_test('abc', 123);这样就ok了
2.执行 exec myprocedure(var1,:myvar);
3.若是function则还要定义返回变量var ret number;
再 exec :ret:=myfunction(var1,:myvar);
in1 varchar2(30); --输入变量
out1 varchar2(3); --输出变量
begin
exec myproc(in1,out1);
end;
in1 varchar2(30); --输入变量
out1 varchar2(3); --输出变量
begin
exec myproc(in1,out1);
end;
建表:
create table test_csdn(
id number,
test varchar2(100))
插数据:insert into test_csdn values(1,'aaa')
建存储过程:
create or replace procedure bb(a1 in integer,a2 out varchar2) is
begin
select test
into a2
from test_csdn
where id=a1;
end bb;sqlplus中显示:
SQL> set serveroutput on
SQL> declare
2 i varchar2(100);
3 begin
4 bb(1,i);
5 dbms_output.put_line(i);
6 end;
7 /
aaa
PL/SQL 过程已成功完成。