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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android开发 更改返回button的图标

    Android开发 更改返回button的图标

    2022年1月21日
    39
  • phpstorm 2021.9 激活码_在线激活

    (phpstorm 2021.9 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    50
  • PostgreSQL row number

    PostgreSQL row number作者:moocbaby(handan)日期:2019-01-19标签:postgreSQL,rownumberPosrgreSQLrownumber查询语句如下:Selectrow_number()over()fromtable_name;或者Selectrow_number()over(orderbyt.adesc)fromfromtab…

    2022年6月11日
    46
  • 数独高级技巧_数独高阶技巧

    数独高级技巧_数独高阶技巧链(Chain)是数独高阶技巧的核心,所有数独盘势都可以通过各种或简单或复杂的链来解出答案。链的本质是命题之间的关系,在解数独时,每个填数的步骤都可表现为在『A格中填入1』、『B格中填入2』这样非真即

    2022年8月4日
    10
  • 基于STM32的RFID-RC522门禁系统

    设计介绍这是一个基于STM32的RFID-RC522门禁系统,LCD1602显示当前状态,当检测到IC卡时,如果这个IC卡已经登记过,LCD1602上会显示IC卡的卡号,继电器打开,如果没有登记则报警。部分代码如下,需要源码的朋友可以在文章下方链接下载。#include”sys.h”#include”delay.h”#include”lcd.h”#include”led.h”#…

    2022年4月14日
    46
  • Unity中Invoke方法[通俗易懂]

    Unity中Invoke方法[通俗易懂]Invoke()方法是Unity3D的一种委托机制如:Invoke(“SendMsg”,5); 它的意思是:5秒之后调用SendMsg()方法;使用Invoke()方法需要注意3点:1:它应该在脚本的生命周期里的(Start、Update、OnGUI、FixedUpdate、LateUpdate)中被调用;2:Invoke(

    2022年5月7日
    250

发表回复

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

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