PLSQL 过程 参数模式
程序员文章站
2022-07-03 13:07:11
...
又拿起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的值读出来是空,输出什么都没有。
推荐阅读
-
oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)
-
C#调用存储过程详解(带返回值、参数输入输出等)
-
用实例分析Python中method的参数传递过程
-
一些SQL Server存储过程参数及例子
-
Oracle 子程序参数模式,IN,OUT,NOCOPY
-
SQL实现递归及存储过程中In()参数传递解决方案详解
-
编程开发之--Oracle数据库--存储过程在out参数中使用光标(3)
-
SQL Server 存储过程 数组参数 (How to pass an array into a SQL Server stored procedure)
-
ASP调用带参数存储过程的几种方式
-
SQL Server存储过程输入参数使用表值