create or replace procedure fyou(tid in varchar2)
is
t_name varchar2(10);
no varchar2(10);
begin
select count(c.name) into no from c where c.part=tid;
if no=0 then
dbms_output.put_line(0);
else
select c.name into t_name from c where c.part=tid;
dbms_output.put_line('rrr');
end if;
exception
when no_data_found then
dbms_output.put_line('fyou');
end fyou;declare
td varchar2(10);
begin
td:='02';
fyou(td);
end;
c.part有02,可是结果显示为0
is
t_name varchar2(10);
no varchar2(10);
begin
select count(c.name) into no from c where c.part=tid;
if no=0 then
dbms_output.put_line(0);
else
select c.name into t_name from c where c.part=tid;
dbms_output.put_line('rrr');
end if;
exception
when no_data_found then
dbms_output.put_line('fyou');
end fyou;declare
td varchar2(10);
begin
td:='02';
fyou(td);
end;
c.part有02,可是结果显示为0
目测,因为你的表中存在一个列交 tid 和参数同名了,oracle把where条件中tid当做 列名了。
C表没tid这个字段.那么为什么一定是0,我菜鸟不太懂