我在Oracle中创建一个SQL命令,将"LOADDATE"的值更新为等于我表上"UPDATEDATE"的值.我在这里工作:
BEGIN
UPDATE LOAD_SETTINGS
SET
LOADDATE = (
SELECT UPDATEDATE
FROM LOAD_SETTINGS
WHERE
MODEL = 'A001'
AND OBJECT = 'A'
)
WHERE
MODEL = 'A001'
AND OBJECT = 'A';
COMMIT;
END;
Run Code Online (Sandbox Code Playgroud)
我确信甲骨文的一件事是有很多我不知道的东西.有没有更好的方法来使用我可能不熟悉的Oracle的任何功能?也许不必使用子查询?或者这是要走的路?
谢谢!
Con*_*rix 12
由于子查询上的where子句与外部的where子句相同,因此不需要subselect直接引用该列
UPDATE LOAD_SETTINGS
SET
LOADDATE = UPDATEDATE
WHERE
MODEL = 'A001'
AND OBJECT = 'A';
Run Code Online (Sandbox Code Playgroud)