我在SQL语句
中的条件有多长update ABC_table
set XXX_column = 10
where YYY_column in ('00-0093149',
... upto 700 values)
在Oracle中有更好的方法吗?也许类似于Extra Long Where/In Statement - Better option?
不使用excel?
由于
答案 0 :(得分:0)
嗯,你说这些值来自数据库,同一个表的列。
然后您可以从
更改查询update ABC_table
set XXX_column = 10
where YYY_column in ('00-0093149',
... upto 700 values)
到
update ABC_table abcout
set XXX_column = 10
where exists (select null
from ABC_table abcin -- the same table
where abcout.YYY_column = abcin.COLUMN_FOR_THE_SAME_TABLE
/* and maybe some more restrictions here */);
其中COLUMN_FOR_THE_SAME_TABLE
是包含值的列。