use*_*vin 4 sql oracle plsql oracle10g
我有一个表性别,其中只有两个条目有'男'和'女'行数,只有这2个条目.现在我想编写一个替换这两个值的过程,输出应如下所示,
i/p o/p
sex sex
------------------------
male female
female male
female male
male female
Run Code Online (Sandbox Code Playgroud)
我正在创建一个程序,它给了我一个错误,我使用一个游标来获取超过1行..我知道我们可以通过只使用1个更新语句来做到这一点,但我想尝试这样,请看看这个. .
declare
v_gen gender%rowtype;
cursor cur_gender is
select * from gender;
begin
open cur_gender;
loop
fetch cur_gender into v_gen;
select * from gender;
if v_gen='male'
then
update gender set sex='female';
else
update gender set sex='male';
end if;
exit when v_gen%notfound;
end loop;
close cur_gender;
end;
Run Code Online (Sandbox Code Playgroud)
Pra*_*nan 13
update Table1 set "col" = (case "col" when 'male' then 'female'
else 'male' end);
Run Code Online (Sandbox Code Playgroud)