oracle中UPDATE table1 t1 JOIN table2 t2 ON t1.account = t2.account SET t1.password = t2.password; 执行时报错缺少set关键字是什么意思
时间: 2023-12-27 11:05:05 浏览: 71
Oracle中password file orapwd的作用及说明.docx
这个问题可能是由于 Oracle 版本较旧而引起的。在 Oracle 9i 以前的版本中,UPDATE JOIN 语法不被支持。您需要使用子查询或内联视图来模拟 JOIN。以下是一个可能的解决方案:
```
UPDATE table1 t1
SET t1.password = (SELECT t2.password FROM table2 t2 WHERE t1.account = t2.account);
```
如果您使用的是较新的 Oracle 版本(例如 Oracle 10g 或更高版本),则可以使用与您在问题中提到的语法相同的语法。但需要注意的是,SET 关键字应该直接跟随 JOIN 子句,而不是跟随 ON 子句。以下是一个示例:
```
UPDATE table1 t1
JOIN table2 t2
ON t1.account = t2.account
SET t1.password = t2.password;
```
请注意,您还需要确保您在使用 JOIN 语法时正确指定了适当的表别名。
阅读全文