oracle 方法函数,执行oracle函数的四种方法

oracle 方法函数,执行oracle函数的四种方法最近在对数据库进行从sqlSERVER改造到ORACLE过程中遇到了一个头疼的问题,sqlSERVER可以返回一个结构化的数据集,ORACLE函数不行,要执行函数(含返回值),函数过程中将语句插进事务性临时表里再读取临时表找到如下资料,执行ORACLE函数的方法:1.在定义函数时:如果有参数,则参数可有类型但是不加长度。2.在执行函数:var/variablevar_namevar_type…

大家好,又见面了,我是你们的朋友全栈君。

最近在对数据库进行从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.方法四

select fun_stu(‘ba’) from dual;

输出结果

A

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

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

总结

以上是编程之家为你收集整理的执行oracle函数的四种方法全部内容,希望文章能够帮你解决执行oracle函数的四种方法所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160772.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • blue light filter_soundsnap

    blue light filter_soundsnapglassfish的主要操作文档。http://www.docin.com/p-141009636.html

    2022年8月20日
  • matlab 累加合,matlab循环语句for累加[通俗易懂]

    matlab 累加合,matlab循环语句for累加[通俗易懂]Matlabfor循环语句没仔细研究你那个拟合函数的用法。不过像这种需要分段处理数据的情况很多,有种在matlab里很常用的技巧感觉你可以学学:假设原始数据(xdata)是一列100个数,你需要一次处理13个,那么下面这段代码先将这100数“折叠”成一个13行的矩阵(x)。我这个例子里是折叠成13*8的矩阵了。因为100不能整除13,所以会在最后补零。如果你…

    2022年9月1日
  • 关于代价函数的理解「建议收藏」

    关于代价函数的理解「建议收藏」假设拟合直线为,代价函数(costfunction)记为则代价函数:为什么代价函数是这个呢?首先思考:什么是代价?简单理解代价就是预测值和实际值之间的差距,那对于多个样本来说,就是差距之和。如果我们直接使用,这个公式看起来就是表示假设值和实际值只差,再将每一个样本的这个差值加起来不就是代价了吗,但是想一下,如果使用这个公式,那么就单个样本而言,代价有正有负,全部样本的代价加起来有可能正负

    2022年6月7日
  • mui框架从0到1【webapp开发教程】

    mui框架从0到1【webapp开发教程】随着需求的不断更新,与对技术的不断探索,计划在20天之内与团队协作开发一款移动端的app

    2022年6月15日
  • 使用decode函数

    使用decode函数Decode函数使用:Oracle的decode函数蛮有意思,是oracle独有的,国际标准SQL中并没有decode函数。语法DECODE(col|expression,search1,result1[,search2,result2,…,][,default])例子SELECTproduct_id,DECODE(warehouse_id,1…

    2022年7月25日
  • DOS 和 Linux 常用命令的对比

    DOS和Linux常用命令的对比许多在shell提示下键入的Linux命令都与你在DOS下键入的命令相似。事实上,某些命令完全相同。本附录提供了Windows的DOS提示

    2021年12月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号