表中有T1和T2字段,当T1=X,读取T1,当T2=X,读取T2并在记录集中将其命名为T1,sql如何表述?

表中有T1和T2字段,当T1=X,读取T1,当T2=X,读取T2并在记录集中将其命名为T1,sql如何表述?

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;

试试信迟看吧~
← 上一篇: 下一篇: →