【发布时间】:2020-10-29 15:49:46
【问题描述】:
如何通过手动输入值来设置列的所有行?
我的表有 3 行,我希望名为 mycolumn 的列有 3 个值 a、b 和 c(当前这些值是 NULL):
update mytable set mycolumn = ('a','b','c')
ORA-00907 missing right parenthesis
编辑:我的表非常简单,我有一列 ID INT NOT NULL 的值为 1、2、3,另一列 mycolumn 的所有值都为 NULL,我希望这些值变为 'a' where ID = 1、'b' where ID=2 等.
EDIT2:我可能有大量的行,所以我想避免输入每个 ID 值来替换 mycolumn。是不是可以自动将 1 到 3 的 ID 值与值 'a'、'b'、'c' 进行匹配,比如match(ID, ('a','b','c')) 可能
我只想通过增加ID 的顺序来替换mycolumn 的所有值。 ID 严格等同于我所说的矩阵中的行号
EDIT3:我想要一个解决方案,它可以在具有各种值的一般情况下工作,而不仅仅是为了简单起见这里给出的字母表中的字母。例如,如果我要在 mycolumn 中替换的值是 ('oefaihfoiashfe', 'fiaohoawdihoiwahopah', 'aefohdfaohdao') 怎么办?但是,ID 行号将始终是从 1 到 N 乘以 1 的序列。
【问题讨论】:
-
这个查询没有意义。请提供示例数据和期望的结果,以阐明您的真正要求。
-
嗯,除非值为
'a,b,c',否则你不能那样做 -
查看编辑。很简单
-
请提供样本数据和期望的结果。
标签: sql oracle sql-update