PLSQL 过程 参数模式
程序员文章站
2022-07-09 09:01:36
...
又拿起plsql在看了,看到过程这一部分。procedure的参数有三种模式:int,out,in out.如果不声明的话,默认的是in。以前在学校老师讲编译原理的时候经常提到左值和右值,现在在plsql里又遇到这种称呼了。in模式的值是左值,read-only的。out模式的值是右值的write-only.in out模式则是两种的融合了。写个例子
再写个测试的例子:
书上说如果往in值里面写东西,或者读out值编译过程的时候会报错,我在我本机按这种写法不会报错,但调用过程的时候会报错。
读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的值读出来是空,输出什么都没有。
上一篇: PL/SQL 3之——sql语句
下一篇: PL/SQL 1