微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

执行oracle函数的四种方法

最近在对数据库进行从sqlSERVER改造到ORACLE过程中遇到了一个头疼的问题,sqlSERVER

可以返回一个结构化的数据集,ORACLE函数不行,要执行函数(含返回值),函数过程中将语句插进事务性临时表里再读取临时表

找到如下资料,执行ORACLE函数方法

1.在定义函数时:如果有参数,则参数可有类型但是不加长度。

2.在执行函数: var/variable var_name var_type(如果数据类型是number则没有长度,如果数据类型是varchar2,则可以写长度)

call(此处不能用exec) 函数名(参数) into :var_name;

举例:sql>var dd varchar2

sql>call get_sal(7788) into :dd;

执行oracle函数的四种方法

首先,创建函数fun_stu:

create or replace function fun_stu(iname varchar2) return varchar2 is

r varchar2(20);

begin

select s.value into r from student s where s.name =iname;

return (r);

end;

1.方法

输入以下语句

sql> variable a varchar2(20)

sql> begin

:a:=fun_stu('ba');

end;

/

输出结果:

PL/sql procedure successfully completed

a

---------

A

输出变量的值

sql> print a

a

---------

A

2.方法

输入以下语句

sql> call fun_stu('ba') into :a;

输出结果

Method called

a

---------

A

输出变量值

sql> print a

a

---------

A

3.方法

输入以下语句

sql> execute :a:=fun_stu('BA');

输出结果

PL/sql procedure successfully completed

a

---------

C

输出变量值

sql> print a

a

---------

C

4.方法

使用sql语句调用

select fun_stu('ba') from dual;

输出结果

A

附加问题: PLsql 命令窗口执行语句按回车有效,执行无效?


转载来源:https://wenku.baidu.com/view/b6baae2a7375a417866f8f96.html

原文地址:https://www.jb51.cc/oracle/209079.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐