ORACLE 字段值 替换修改语句
有张表,表名talble,table表中的字段A的值有:1,2,3,4,现想把字段A的值替换,如果值为1修改为0,如果值为2修改为1,如果值为3修改为2,如果值为4修改为...
有张表,表名talble,table表中的字段A的值有:1,2,3,4,现想把字段A的值替换,如果值为1修改为0,如果值为2修改为1,如果值为3修改为2,如果值为4修改为3,麻烦高人用一条语句写出更新语句,谢谢!
抱歉,我重新描述下问题,字段A的值只是举例为:1,2,3,4,我是想把字段A的所有值 用一条语句替换修改,比如等值为1的替换为A,值为2的替换为B,值为3的替换为C,值为4的替换为D,注意:一定要是一条语句。 展开
抱歉,我重新描述下问题,字段A的值只是举例为:1,2,3,4,我是想把字段A的所有值 用一条语句替换修改,比如等值为1的替换为A,值为2的替换为B,值为3的替换为C,值为4的替换为D,注意:一定要是一条语句。 展开
4个回答
展开全部
如果字段A不是主键的话,写一个存储过程就行了.如下:
table---TEST
create or replace
PROCEDURE UP AS
CURSOR CUR IS SELECT A FROM TEST;
LI_T INTEGER;
BEGIN
OPEN CUR;
loop
FETCH CUR INTO LI_T;
exit when CUR%notfound;
UPDATE TEST SET A = LI_T -1
WHERE A = LI_T;
end loop;
close CUR;
END;
table---TEST
create or replace
PROCEDURE UP AS
CURSOR CUR IS SELECT A FROM TEST;
LI_T INTEGER;
BEGIN
OPEN CUR;
loop
FETCH CUR INTO LI_T;
exit when CUR%notfound;
UPDATE TEST SET A = LI_T -1
WHERE A = LI_T;
end loop;
close CUR;
END;
展开全部
update talble set a = a - 1 where a between 1 and 4;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update table set a=case when a='1' then 'A' when a='2' then 'B' when a='3' then 'C' when a='4' then 'D';
不知道这是不是你要的结果?
不知道这是不是你要的结果?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询