首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PLSQL中IN、OUT、IN OUT参数的区别

PLSQL中IN、OUT、IN OUT参数的区别
EN

Stack Overflow用户
提问于 2012-07-24 11:18:53
回答 1查看 25.2K关注 0票数 6

请告诉我PL/SQL中的IN、OUT、IN OUT参数有什么区别。另外,如何使用PL/SQL过程返回多个值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-24 11:28:07

什么是IN/OUT/INOUT参数?

这些参数是作为函数参数列表的一部分定义的,它们将作为结果的一部分返回。当您创建函数时,参数在未显式指定时默认为IN参数(这意味着它们是传入的,而不是返回的),这就是为什么当您使用函数向导时,有时会看到PgAdmin执行类似in某些变量变量类型的操作。

你也可以有INOUT参数,它是函数的输入,可以被传入,可以被函数修改,也可以被返回。

SQL输出参数-返回多条记录

代码语言:javascript
复制
--SQL returning multiple records
CREATE OR REPLACE FUNCTION fn_sqltestmulti(param_subject varchar, 
  OUT test_id integer, OUT test_stuff text) RETURNS SETOF record
AS $$
  SELECT test_id, test_stuff 
    FROM testtable where test_stuff LIKE $1;
$$
LANGUAGE 'sql' VOLATILE;

--example
SELECT * FROM fn_sqltestmulti('%stuff%');

 --OUTPUT--
 test_id |     test_stuff
---------+--------------------
       1 | this is more stuff
       2 | this is new stuff

MORE EXAMPLES

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11623653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档