ORA-14001: LOCAL clause contradicts previosly specified GLOBAL clause

文档解释

ORA-14001: LOCAL clause contradicts previosly specified GLOBAL clause

Cause: CREATE INDEX statement contained a GLOBAL clause and a LOCAL clause

Action: Specify LOCAL or GLOBAL clause, but not both

ORA-14001: LOCAL clause contradicts previosly specified GLOBAL clause错误意味着赋值语句在其中包含LOCAL子句,而其之前指定了一个GLOBAL子句。

官方解释

ORA-14001表明PL/SQL块存在一个语法上的错误,其包括使用LOCAL子句而无GLOBAL子句的赋值语句,或者使用GLOBAL子句而无LOCAL子句的赋值语句。 LOCAL子句指定该变量的初始值将仅在PL/SQL块的有效范围内可见。 GLOBAL子句表示初始值将在主块和PL/SQL块(嵌套)之外可见。

常见案例

这一错误可能会出现在以下情况下:

1)在PL / SQL块中定义了一个本地变量并尝试在PL / SQL块外将其进行赋值

2)尝试在PL / SQL块中定义和初始化一个全局变量

正常处理方法及步骤

1.检查代码,确保局部变量不会被定义为全局变量(或者反之亦然),以便能够在外部范围内加以赋值。

2.如果目标是更改PL / SQL块中变量的初始值,请使用合适的LOCAL子句,以更改变量的值。

3.如果未在主块中定义变量,请以全局变量的形式重新定义变量。

4.确保使用的变量和LOCAL/GLOBAL子句是一致的。

你可能感兴趣的