用于切换值的SQL语句

Ste*_*anE 1 sql oracle10g

我有几个表,其中一个字段是优先级(1到5).这里的问题是,不同的项目一直使用5作​​为最高,而1作为最高,我将协调这一点.

我的简单选择是创建临时表并复制数据并切换为此表:
1 - > 5
2 - > 4
3 - > 3
4 - > 2
5 - > 1

我对SQL不是很好,但是感觉应该有一种简单的方法可以直接用语句切换这些值,但是我确实担心何时有大量数据,如果出现问题,那么数据就会出现问题会一团糟.

我应该使用我的临时表解决方案,还是应该有一个很好的方法在SQL中直接执行此操作?(正在使用Oracle 10g)

非常感谢!

tek*_*ues 13

只需像这样更新第二个表,就不需要临时表,因为你只是颠倒了优先级:

update table_2
set priority = 6-priority;
Run Code Online (Sandbox Code Playgroud)