update a set PROPERTYADDRESS = ISNULL(a.PROPERTYADDRESS, b.PROPERTYADDRESS)
from data a
join data b
on a.PARCELID = b.PARCELID
and a.[ID] <> b.[ID]
where a.PROPERTYADDRESS is null
在Oracle SQL中,对于给定的代码,它显示错误:
从行开始时出错:25指挥官
update a
set PROPERTYADDRESS = ISNULL(a.PROPERTYADDRESS, b.PROPERTYADDRESS)
from data a
join data b
on a.PARCELID = b.PARCELID
and a.[ID] <> b.[ID]
where a.PROPERTYADDRESS is null
命令行错误:27柱:5
错误报告- SQL错误:ORA-00933:SQL命令未正确结束
- 00000 -“SQL命令未正确结束”
- 原因:
- 行动:
基本上我认为它是不采取ISNULL()作为一个函数需要帮助来解决这个问题
2条答案
按热度按时间iugsix8n1#
[]
在Oracle的SQL方言中不是有效语法;UPDATE
中的联接也不是有效的Oracle语法(没有子查询);和ISNULL
不是一个有效的Oracle函数(使用ISNULL(a.PROPERTYADDRESS, b.PROPERTYADDRESS)
没有意义,因为您已经过滤了a.PROPERTYADDRESS is null
,因此您知道a
的值是什么)。您可以用途:
fiddle
uz75evzq2#
ISNULL()函数特定于SQL Server,在Oracle中不受支持。您可以在Oracle中使用ISNULL()等效的NVL函数