I have a table with two columns- x
and y
. x
should be always less than y
in my output table.
How to swap? I tried update which didn't work and throws runtime error. Can someone give the correct syntax ? (In Oracle)
Update table t1 set x = (case when x<y then x else y end),
set y = (case when x<y then y else x end)
CodePudding user response:
Use a WHERE
clause to update only the rows that actually need to be updated:
UPDATE tablename
SET x = y,
y = x
WHERE x > y;
CodePudding user response:
Your syntax is wrong. There should be no 'TABLE' in the UPDATE
statement.
You have SET
twice, it's only wanted once
Update t1 set x = (case when x<y then x else y end),
y = (case when x<y then y else x end)