PLS-00505:用户定义的类型只能定义为PLSQL表或记录,.原因:尝试定义除TABLE或RECORD之外的类型,但这些是此版本的PL / SQL中允许的唯一用户定义的类型。例如,以下类型定义是非法的:TYPE Byte IS INTEGER(2); - 非法,.操作:删除类型定义,或修改它以指定TABLE或RECORD类型。,.
回答于 2018-08-30 19:02
PLS-00506:禁止用户定义的约束子类型,.原因:尝试定义受限子类型,但在此版本的PL / SQL中仅允许无约束的子类型。例如,以下类型的定义是非法的:SUBTYPE首字母缩略词IS VARCHAR2(5); - 非法,.操作:删除非法类型约束。,.
回答于 2018-08-30 19:02
PLS-00507:PLSQL表可能不包含具有复合字段的表或记录,.原因:在TABLE类型定义中,嵌套的记录类型被指定为元素类型。这是不允许的。记录中的所有字段必须是标量。,.操作:删除TABLE类型定义,或者使用简单的记录类型替换嵌套的记录类型。,.
回答于 2018-08-30 19:02
PLS-00508:RETURN语句中的表达式不能是一个类型,.原因:使用数据类型说明符代替用户定义函数的RETURN语句中的表达式,如下面的示例所示。不要将RETURN语句与RETURN子句混淆,RETURN语句将函数标识符与结果值进行比较,RETURN子句指定结果值的数据类型。FUNCTION信用评级(acct_no NUMBER)返回BOOLEAN开始...返回号码; -...
回答于 2018-08-30 19:02
PLS-00491:需要数字文字,.原因:在需要数字文字的情况下使用常量或变量。例如,代码可能看起来像my_ename VARCHAR2(max_len); 而不是my_ename VARCHAR2(15); 当指定VARCHAR2变量的最大长度时,必须使用整数字面值。,.操作:使用数字文字替换标识符。,.
回答于 2018-08-30 19:02
PLS-00492:可变或常量初始化可能不指代在同一个包中声明的函数,.原因:如果包spec p声明函数f,该函数可能不会用于同一包规范中的任何变量声明中。这是因为循环实例化问题:为了完全实例化包规范,必须初始化变量。要初始化变量,必须执行包体中的函数体代码。这要求实例化包体。但是,在包规范完全实例化之前,无法实例化...
回答于 2018-08-30 19:02
PLS-00493:对本地上下文中服务器端对象或函数的无效引用,.原因:在只有PL / SQL对象可能存在的上下文中找到对服务器端对象(例如表列)或函数(诸如SUM,AVG,MIN,MAX,...等组功能)的引用(例如在本地函数的参数列表内或作为(本地)PL / SQL表的索引)。,.行动:重写违规陈述; 或者(如果本地函数调用是问题上下文),...
回答于 2018-08-30 19:02
PLS-00494:强制进入不支持的多个记录目标,.原因: SELECT或FETCH的INTO列表指定多于单个记录类型的目标,列类型需要强制进入记录以匹配INTO列表。这是类型检查为正确,但尚不支持。,.操作:创建一个新的记录类型以保存所有列类型,或为每个源列使用INTO对象编码SELECT。,.
回答于 2018-08-30 19:02
PLS-00495:SELECT ... INTO语句中的列太多,突破记录目标,.原因:类型检查表明SELECT或FETCH中的列正在收集到INTO列表中的记录中。这个记录突然进入了它的领域。每个列的记录中没有足够的字段。,.操作:更改INTO子句中的列数或记录变量,使其匹配。,.
回答于 2018-08-30 19:02
PLS-00496:SELECT ... INTO语句中突破记录目标后的列太少,.原因:类型检查表明SELECT或FETCH中的列正在收集到INTO列表中的记录中。这个记录突然进入了它的领域。没有足够的列填充记录中的所有字段。,.操作:更改INTO子句中的列数或记录变量,使其匹配。,.
回答于 2018-08-30 19:02