
SQL做不到,弊孙不过用PL/SQL就可以,假设你的表叫T,读取T1的意思,我理解为用游标打印T1='X'的这条记录,读取T2并在记录集中将其命名为T1,理解先打印这条记录,再把X替换为T1
declare
tmp varchar2(20);
cur_t T%ROWTYPE;
begin
select count(1) into tmp from T where T1='X';
if tmp=1 then
select T.T1,T.T2 into cur_t from T where T1='X';
if SQL%FOUND then
DBMS_OUTPUT.PUT_LINE('在T1中查到,记录为T1:'||cur_t.T1||' T2:'||cur_t.T2);
end if;
else
select T.T1,T.T2 into cur_t from T where T2='X';
if SQL%FOUND then
DBMS_OUTPUT.PUT_LINE('在T2中查到,记录为T1:'||cur_t.T1||' T2:'||cur_t.T2);
end if;
update T set T.T2='T1' where T.T2='X';
DBMS_OUTPUT.PUT_LINE('在滑卜李T2中已经替换X为T1');
end if;
end;
试试信迟看吧~