別のテーブルのフィールドから 2 つの列を更新するにはどうすればよいですか?
のフィールドDOMAIN
にTABLE2
は、次の文字列があります。
;*.mydomain.co.il;
を抽出しましたmydomain.co.il
。今私はしたい:
UR
フィールドL を更新しますTABLE1
REDIRECT
のフィールドを更新しますTABLE1
UPDATE TABLE1 set URL = (SELECT concat('http//', trim(both ';' from DOMAIN)) FROM TABLE2 WHERE id = 99999 ) REDIRECT = (SELECT concat('http//', trim(both ';' from REGEXP_REPLACE(domain, 'mydomain', 'otherdomain' ) ) ) FROM TABLE2 WHERE id = 88888 )
エラーメッセージ: ORA-00933; SQL コマンドが正しく終了していません
わかった。クエリを更新したところ、次のエラーが発生しました。
[Oracle Data Provider for .NET] Number: 971
ErrorMessage: ORA-00971: missing SET keyword
SET がないのはなぜですか?
UPDATE TABLE1 a, TABLE2 s
SET
a.URL = concat('http//', trim(both ';' from s.DOMAIN),
a.REDIRECT = concat('http//', trim(both ';' from REGEXP_REPLACE(s.domain , 'mydomain', 'otherdomain'))
where s.id = 8888