【发布时间】:2017-07-17 20:24:12
【问题描述】:
我有一个包含近 27 列(所有整数数据类型)的表,第一列是 ID(PK)。 我希望将所有值更新为某个值,例如 500。 有没有像这样输入所有 27 个列名的情况下要更新的查询。
UPDATE tbl_name SET a=500,b=500,c=500.....z=500 where ID = 1
否则我可以制作任何 PL/SQL 函数,它会在不提供列名和设置值的情况下自行获取下一列吗?
【问题讨论】:
-
AFAIK 这是唯一的选择,除非您想使用动态 SQL。如果是这样,那么您也许可以遍历所有列并将
500分配给每一列。 -
但作为旁注,27 列听起来有点偏大。您可能想要重组您的数据库。
-
动态SQL,你的意思是PL/SQL?
-
我认为这在单个查询中是不可能的。您需要在 UPDATE 中指定列名