看了解释,知道IN是调入,OUT是调出,就是不太明白怎么用,能写个简单的例子然后解释下吗?
解决方案 »
- 求教function 问题
- 请教这样的函数应该怎么写,求计算公式数值在51-100范围内返回1 ,101-150返回1.5,151-200返回2。。。依次类推
- 怎么让oracle或者SqlServer中的外键约束暂时失效??
- oracle10g 导DMP 2270错误
- 储存过程开发-业务逻辑实现-熟悉储存过程开发的人进
- 请教:如何获取数据库服务器(Oracle)的时间
- 我在修改某个存储过程时,系统提示该过程被锁定,请问有那些因素会导致过程被锁定,如何解除锁定?
- 新建一个用户,允许它有执行过程,函数,同义词,访问表,该怎么样给它权限啊?
- 登陆SQLPLUS遇到的问题,麻烦大家予以指点,谢谢!
- 低级问题:怎样创建数据库?
- 在线等,急急急
- 感谢wildwave刚才的热心回答,抱歉发错了分,请进来回复一下
写了个简单的例子给你看看,不知能不帮上忙
create or replace procedure xx_proc( v_x in integer ,v_y out integer)
is
begin
dbms_output.put_line(to_char(v_x));
v_y := v_x;
end;var v_yy integer
exec xx_proc(990,:v_yy)
PRINT v_yy
(
i_in in varchar2,
o_out out varchar2
)
as
begin
--o_out := 'haha' || o_out;
null;
end;
/
set serveroutput on;declare
v_in varchar2(20);
v_out varchar2(20);
begin
v_in := 'hehe';
v_out := 'heihei'; p_test(v_in, v_out); dbms_output.put_line('In参数:' || v_in);
dbms_output.put_line('Out参数:' || v_out);
end;
/set serveroutput off;SQL> Procedure createdIn参数:hehe
Out参数:PL/SQL procedure successfully completed通过这个例子可以看出来,in 参数,才被存储过程调用前后,值不发生变化,而 out 参数,在被调用后,会被重新赋值。