Oracle自定义函数输入为Data类型时,一直报错

Oracle自定义函数输入为Data类型时,一直报错,第1张

CREATE OR REPLACE FUNCTION IS_DATE_YMD

 

(in_date in data)    --这里in data 不能有空格啊, 应该是 in_date date 才对

RETURN emp%ROWTYPE  

IS  

Result date;

可在第三方软件中,如pl/sql中编译。

1、打开pl/sql软件并登录到指定数据库。

2、点击左上方像纸片的按钮,然后点击“sql窗口”

3、在d出窗口中编写自定义函数

4、编写完毕后,直接点击左上角像齿轮的按钮(即执行按钮),就可以编译了。

如果纯粹看您给的例子,那返回的都是单一数值,区别是单纯遍历语句结果,前者是通过函数。我想您是想通过这个例子来问,如何提高函数在QUERY中的效率问题,因为你例子本身没有实际应用价值,只可能是你为解决问题的实验了。不知是否正确。

因为不知道你的具体工作情况,我只能提供多种可能,有的方法也许受权限,和你工作的内容限制,无法实现。我个人经验来看。

1 尽量把函数放在你Login的schema下,对权限的检测,如果是自身的schema会提高速度。

2 如果是你要生成report,你看看有没有可能,或者权限,生成Materialized view, 而不直接在他的Table或者View里面找。 Materialized View的方法有时候在数据仓库中会用来提高速度,当然 前提是你有这个权限。

3就这个语句来看,我个人觉得没有必要从索引来找。你对自己的数据肯定比我们要熟悉的多,过多的索引反而会是速度变慢。觉得要么从表,要么从函数去入手。祝好运

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12176375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存