Oracle không hỗ trợ join
trong update
cú pháp:
UPDATE T123
SET COL1 = 1,
VER1 = VER1 + 1
WHERE EXISTS (SELECT 1 FROM WAPTDT_123 T WHERE T123.REQUEST_ID = T.NUM_FLD);
Đây là SQL tiêu chuẩn và sẽ hoạt động trong bất kỳ cơ sở dữ liệu nào.
Truy vấn của bạn cũng có các vấn đề khác. . . truy vấn con không nằm trong dấu ngoặc đơn, inner join
không có bảng đầu tiên.
CHỈNH SỬA:
Bạn có thể viết truy vấn này với truy vấn con đó:
UPDATE T123
SET COL1 = 1,
VER1 = VER1 + 1
WHERE T123.REQUEST_ID IN (SELECT C1 FROM ( SELECT T.NUM_FLD C1 FROM WAPTDT_123 T) TAB );
Tôi đã chuyển cái này thành IN
, chỉ vì đó là một lựa chọn khác. Bạn vẫn có thể sử dụng EXISTS
.