文档解释
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子句是一致的。