PLS-00565的错误解决

news/2024/11/21 1:28:47/

今天被个小问题折腾了10分钟,哎
sys@MYORACLE> CREATE OR REPLACE TYPE NUMTABLETYPE is table of number
2 /
CREATE OR REPLACE TYPE NUMTABLETYPE is table of number
*
ERROR at line 1:
ORA-06545: PL/SQL: compilation error – compilation aborted
ORA-06550: line 0, column 0:
PLS-00565: NUMTABLETYPE must be completed as a potential REF target (object type)

反复的报错说PLS-00565的错误。

最后终于找到原因,create or replace并不是100%都能直接修改原有的type定义。

在这里我有两个type:
VARTABLETYPE就可以。
但是 NUMTABLETYPE就是不可以。 就因为正好遇到了两种相反的现象,才折腾了我10多分钟。

最终还是drop掉, 重新create就通过了。

sys@MYORACLE> drop type numtabletype;

Type dropped.

sys@MYORACLE>
sys@MYORACLE>
sys@MYORACLE> CREATE OR REPLACE TYPE NUMTABLETYPE is table of number;
2 /

Type created.

sys@MYORACLE> create or replace function str2numList( p_string in varchar2 ) return numTableType
2 as
3 v_str long default p_string || ‘,’;
4 v_n number;
begin
v_data numTableType := numTableType();
6 begin
loop
8 v_n := to_number(instr( v_str, ‘,’ ));
9 exit when (nvl(v_n, 0) = 0);
10
11 v_data.extend;
12 v_data( v_data.count ) := ltrim(rtrim(substr(v_str, 1, v_n-1)));
13 v_str := substr( v_str, v_n+1 );
14 end loop;
15
16 return v_data;
17 end;
18 /

Function created.
sys@MYORACLE> select a.column_value from table(str2numlist(’12,23′)) a;

COLUMN_VALUE
————
12
23
到此结束。

另外附上support.oracle.com的说明:
Error: PLS-565
Text: %s must be completed as a potential REF target (object type)
—————————————————————————
Cause: Incomplete library units that are potential targets of REF
dependencies must be completed so that they continue to
remain potential targets of REF dependencies (since there might
be library units with REF dependencies on this library unit).
Potential REF targets include complete and incomplete
object types. This error happened because an attempt was made to
complete a potential REF target as something other than a
potential REF target.
Action: Use another name for this library unit, or drop the original
incomplete library unit.


来源:如龙的博客


http://www.ppmy.cn/news/127665.html

相关文章

Perl - Linux 执行.pl脚本

1. 创建perl并命名为test.pl vim test.pl (保存退出) 2. 为test.pl添加权限 chmod 0755 test.pl 3. 执行test.pl ./test.pl

PLL简介及配置

目录 1. PLL简介 2. PLL创建 2.1 创建一个Quartus II项目。 2.2 创建PLL 2.3 配置PLL 3.例化及仿真 3.1 例化 3.2 仿真 3.3 仿真结果 1. PLL简介 PLL的英文全称是Phase Locked Loop,即锁相环,是一种反馈控制电路。PLL对时钟网络进行系统级的时…

plsq

亲测可以使用,还补充了点模糊的地方。 1. 病毒软件的防火墙可以关闭试试在连接。 2. 环境变量path 里面没有加上%ORACLE_HOME%\bin导致 可以引用一个别人的东西试试 下面是ORACLE的四种连接方法,主要是远程连接方法: 一、 如果oracle服务器在…

P1-P175

1.JDK,JRE,JVM三者之间的关系,及JDK,JRE包含的主要结构有哪些 JDKJREJava的开发工具(javac.exe,java.exe,javadoc.exe) JREJVMJava核心类库 2.为什么要配置path环境变量,如何配置 为了在任何路径下都可以运…

什么是PLL?

什么是PLL? 锁相环 (PLL) 是一种反馈电路,旨在允许一个电路板将其板上时钟相位与外部时序信号同步。 PLL 电路的工作原理是将外部信号的相位与压控晶体振荡器 (VCXO) 产生的时钟信号的相位进行比较。然后,电路调整振荡器时钟信号的相位以匹配…

PLSI

未知类C{c1, c2,,,,ck} token W{w1, w2, ,,, wm} doc D{d1, d2, ,,, dn} 1)选择文档d的概率是p(d) 2)文档d时, 为类z的概率是p(z|d) 3)类z中包含w的概率是 p(w|z) P(w,d) ∑P(c)P(d | c)P(w | c) P(d)∑P(c | d)P(w | c) c c EM 1)E: 在当前参数估计值的情…

好玩!AI文字RPG游戏;播客进入全AI时代?LangChain项目实践手册;OpenAI联创科普GPT | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 Microsoft Build 中国黑客松挑战赛,进入AI新纪元 近期,伴随着人工智能的新一轮浪潮,Hackathon (黑…

Generative AI 新世界 | 大语言模型(LLMs)在 Amazon SageMaker 上的动手实践

在上一篇《Generative AI 新世界:大型语言模型(LLMs)概述》中,我们一起探讨了大型语言模型的发展历史、语料来源、数据预处理流程策略、训练使用的网络架构、最新研究方向分析(Amazon Titan、LLaMA、PaLM-E 等&#xf…