Database 此查询中的关系运算符无效
您好,下午好,我有这个查询,我正在尝试执行,但是在最后两行中,我遇到了无效的关系运算符错误Database 此查询中的关系运算符无效,database,oracle,subquery,logic,operators,Database,Oracle,Subquery,Logic,Operators,您好,下午好,我有这个查询,我正在尝试执行,但是在最后两行中,我遇到了无效的关系运算符错误 UPDATE table1 tpg SET comentarios = comentarios ||'Tipo de Cambio Inválido ó Nulo:' ||campo_10, estatus = 'RE' WHERE num_cia = :v_num_cia AND num_usu
UPDATE table1 tpg
SET comentarios = comentarios
||'Tipo de Cambio Inválido ó Nulo:'
||campo_10,
estatus = 'RE'
WHERE num_cia = :v_num_cia
AND num_usuario =:v_num_usuario
AND reg_saai =: v_Interfase
AND estatus <>'RE'
AND (CAMPO_10 IS NULL
OR NOT (FU_IS_NUMBER(CAMPO_10)))
更新表1 tpg
设置comentarios=comentarios
||“蒂波·德坎比奥·因瓦利多·努洛:”
||坎波10号,
estatus='RE'
其中num_cia=:v_num_cia
和num_usuario=:v_num_usuario
和reg_saai=:v_interbase
还有estatus'RE'
和(CAMPO_10为空
或否(FU_为_编号(CAMPO_10)))
我想FU\u是一个返回布尔值的函数
Oracle SQL根本不支持Boolean
,因此您需要将函数更改为返回数字,例如(1/0)
如果函数检查参数是否为数字,则可以使用正则表达式。例如:
not regexp_like(CAMPO_10, '^-?[[:digit:]]*[.]?[[:digit:]]*$')
是的,fu_is_number返回一个布尔值,或者我有其他函数,它接受一个varchar 2并返回一个数字,但是出现了相同的错误,campo_10是一个varchar 2,但是由于其他验证,它100%确定在这种情况下是数字,我只需要确保它不为空或者没有字符it@Carlos对于另一个函数,会出现相同的错误,因为NOT不是有效的逻辑条件(例如,“where NOT 1”-这是错误的)。如果您的第二个函数返回number,请尝试以下操作:或者FU_是NUMBER2(CAMPO_10)不是NULL