`
zhangyou1010
  • 浏览: 299155 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PLSQL 过程 参数模式

SQL 
阅读更多
又拿起plsql在看了,看到过程这一部分。procedure的参数有三种模式:int,out,in out.如果不声明的话,默认的是in。以前在学校老师讲编译原理的时候经常提到左值和右值,现在在plsql里又遇到这种称呼了。in模式的值是左值,read-only的。out模式的值是右值的write-only.in out模式则是两种的融合了。写个例子
create or replace procedure ModeTest(
       inParameter in number,
       outParameter out number , 
       inOutParameter in out number) is
localVariable number ;
begin
localVariable :=inOutParameter;
inOutParameter:=2500;
--outParameter := 100;
dbms_output.put_line(outParameter);
end ModeTest;



再写个测试的例子:
declare 
inParameter number :=10;
outParameter number :=20;
inOutParameter number :=30;
begin 

ModeTest(inParameter,outParameter,inOutParameter);
dbms_output.put_line(inOutParameter);
end;

书上说如果往in值里面写东西,或者读out值编译过程的时候会报错,我在我本机按这种写法不会报错,但调用过程的时候会报错。
读out的值读出来是空,输出什么都没有。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics