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


相关推荐

  • 最棒 Spring Boot 干货总结(超详细,建议收藏)

    作者:CHEN川 链接:http://www.jianshu.com/p/83693d3d0a65 前言:本文非常长,建议先mark后看,也许是最后一次写这么长的文章 说明:前面有…

    2021年6月22日
    120
  • Linux中查看进程状态信息

    Linux中查看进程状态信息Linux中查看进程状态信息一、常用命令总结ps-l列出与本次登录有关的进程信息;ps-aux查询内存中进程信息;ps-aux|grep***查询***进程的详细信息;top查看内存…

    2022年6月21日
    48
  • 有监督学习VS无监督学习「建议收藏」

    有监督学习VS无监督学习「建议收藏」事先先说明一下:标签就是指的分好的类别,指明标签就是告诉计算机,这个样本属于哪一类。对于聚类的话,是事先类别都没定义好,但是类别的个数一定要告诉计算机这个问题可以回答得很简单:是否有监督(supervised),就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。首先看什么是学习(learning)?一个成语就可概括:举一反三。此处以高考为例,高考的题目在上

    2022年5月25日
    49
  • PotPlayer最新 中文,绿色版 PotPlayer

    PotPlayer最新 中文,绿色版 PotPlayer今天推荐一款纯净、无广告、极速、功能强大的播放器:PotplayerPotPlayer到底好在哪里?【知乎】PotPlayer有独特的高级功能!第一,支持单帧播放(F键前进一帧,D键倒退一帧,空格键正常播放)第二,支持变速播放(X键降速10%,C键提速10%,Z键重置)第三,支持5.1声道和7.1声道,可以搭建环绕声家庭影院第四,支持画声同步调节(<键画面提前50ms,>键画面延后50ms,?键重置)第五,按Tab键就能显示视频文件的详细信息第六,支持硬解码,支持软…

    2022年7月14日
    16
  • ArrayList初始化长度

    ArrayList初始化长度每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构造ArrayList时指定其容量。在添加大量元素前,应用程序也可以使用ensureCapacity操作来增加ArrayList实例的容量,这可以减少递增式再分配的…

    2025年8月12日
    2
  • 结构体数组初始化

    结构体数组初始化《代码大全》建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化。1、初始化typedefstruct_TEST_T{       inti;       charc[10];}TEST_T;TEST_T gst  ={1,“12345”};//可以初始化,设置i为1

    2022年7月18日
    16

发表回复

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

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