欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PLSQL 过程 参数模式

程序员文章站 2022-07-03 13:07:11
...
又拿起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的值读出来是空,输出什么都没有。
相关标签: SQL