Sql 如何在oracle 12c中使用多个数据更新单个列
我正在更新一个oracle表,同一列有多个数据。如何编写代码 我运行了此代码,但出现了错误 我用女孩代替男孩,用白色代替黑色,用颜色代替绿色Sql 如何在oracle 12c中使用多个数据更新单个列,sql,oracle,sql-update,Sql,Oracle,Sql Update,我正在更新一个oracle表,同一列有多个数据。如何编写代码 我运行了此代码,但出现了错误 我用女孩代替男孩,用白色代替黑色,用颜色代替绿色 UPDATE BIG SET FNAME = CASE WHEN FNAME = 'BOY' THEN 'GIRL' WHEN FNAME = 'BLACK' THEN 'WHITE' WHEN FNAME = 'GREEN' THEN 'COLOR' END; 我需要能够编写一条语句,用不
UPDATE BIG
SET
FNAME = CASE
WHEN FNAME = 'BOY' THEN 'GIRL'
WHEN FNAME = 'BLACK' THEN 'WHITE'
WHEN FNAME = 'GREEN' THEN 'COLOR'
END;
我需要能够编写一条语句,用不同的和多个数据更新同一列。您需要处理
否则
(所有行都将使用a->a(标识)进行更新):
或更好地筛选要更新的行:
UPDATE BIG
SET
FNAME = CASE
WHEN FNAME = 'BOY' THEN 'GIRL'
WHEN FNAME = 'BLACK' THEN 'WHITE'
WHEN FNAME = 'GREEN' THEN 'COLOR'
END;
WHERE FNAME IN('BOY', 'BLACK', 'GREEN');
<=>
UPDATE BIG
SET FNAME = DECODE(FNAME, 'BOY', 'GIRL', 'BLACK', 'WHITE', 'GREEN', 'COLOR')
WHERE FNAME IN('BOY', 'BLACK', 'GREEN');
大更新
设置
FNAME=案例
当FNAME=‘男孩’然后是‘女孩’
当FNAME=黑色时,则为白色
当FNAME='GREEN'时,则为'COLOR'
结束;
其中FNAME在(‘男孩’、‘黑色’、‘绿色’)中;
大更新
设置FNAME=解码(FNAME,‘男孩’、‘女孩’、‘黑色’、‘白色’、‘绿色’、‘颜色’)
其中FNAME在(‘男孩’、‘黑色’、‘绿色’)中;
我运行了这段代码,但出现了错误。
错误消息是?你的代码看起来不错Lukasz,当我运行脚本时,它会更新列,但随后会使未更新的列为空。Lukasz Szozda我真的很感激,这三个都很好。
UPDATE BIG
SET
FNAME = CASE
WHEN FNAME = 'BOY' THEN 'GIRL'
WHEN FNAME = 'BLACK' THEN 'WHITE'
WHEN FNAME = 'GREEN' THEN 'COLOR'
END;
WHERE FNAME IN('BOY', 'BLACK', 'GREEN');
<=>
UPDATE BIG
SET FNAME = DECODE(FNAME, 'BOY', 'GIRL', 'BLACK', 'WHITE', 'GREEN', 'COLOR')
WHERE FNAME IN('BOY', 'BLACK', 'GREEN');