Re: 19857について
quensan
投稿数: 119
引用:と解説に書いてあるように、SETだけでなくWHERE句に指定する列も副問合せのSELECT句に指定する必要があるのですよ。
試しに副問合せでmanager_idだけ指定するとおこられます。
SQL> UPDATE (SELECT manager_id FROM employees) SET manager_id = 1005 WHERE hiredate >= '08-04-01';
UPDATE (SELECT manager_id FROM employees) SET manager_id = 1005 WHERE hiredate >= '08-04-01'
*
行1でエラーが発生しました。:
ORA-00904: "HIREDATE": 無効な識別子です。
また、表名の代わりに副問合せを指定したUPDATE文にWHERE句を指定する場合も、副問合せのSELECT句に指定した列に関する条件しか指定できませんので注意しましょう。
試しに副問合せでmanager_idだけ指定するとおこられます。
SQL> UPDATE (SELECT manager_id FROM employees) SET manager_id = 1005 WHERE hiredate >= '08-04-01';
UPDATE (SELECT manager_id FROM employees) SET manager_id = 1005 WHERE hiredate >= '08-04-01'
*
行1でエラーが発生しました。:
ORA-00904: "HIREDATE": 無効な識別子です。
投稿ツリー
-
19857について
(yanaji, 2019-1-22 22:18)
- Re: 19857について (quensan, 2019-1-23 13:02)