create procedure findGuestById(
hid in pss_guest_data.id%type,
hguestid out pss_guest_data.id%type,
hguestname out pss_guest_data.name%type,
hguesttypeid out pss_guest_data.guesttypeid%type,
hguestTypename out pss_guest_type_data.name%type,
hcontact out pss_guest_data.contact%type,
hpersonalphone out pss_guest_data.personalphone%type,
hmobilephone out pss_guest_data.mobilephone%type,
hemail out pss_guest_data.email%type
)
is begin
select a.id as guestid
, a.name as guestname
, a.guesttypeid as guesttypeid
, b.name as guesttypename
, a.contact
, nvl(a.personalphone,'phone inval')
, nvl(a.mobilephone,'cell inval')
, nvl(a.email,'email inval')
into hguestid
, hguestname
, hguesttypeid
, hguestTypename
, hcontact
, hpersonalphone
, hmobilephone
, hemail
from pss_guest_data a
, pss_guest_type_data b
where a.guesttypeid = b.id
and a.id = hid; end findGuestById;把中文替换编译试试
hid in pss_guest_data.id%type,
hguestid out pss_guest_data.id%type,
hguestname out pss_guest_data.name%type,
hguesttypeid out pss_guest_data.guesttypeid%type,
hguestTypename out pss_guest_type_data.name%type,
hcontact out pss_guest_data.contact%type,
hpersonalphone out pss_guest_data.personalphone%type,
hmobilephone out pss_guest_data.mobilephone%type,
hemail out pss_guest_data.email%type
)
is begin
select a.id as guestid
, a.name as guestname
, a.guesttypeid as guesttypeid
, b.name as guesttypename
, a.contact
, nvl(a.personalphone,'phone inval')
, nvl(a.mobilephone,'cell inval')
, nvl(a.email,'email inval')
into hguestid
, hguestname
, hguesttypeid
, hguestTypename
, hcontact
, hpersonalphone
, hmobilephone
, hemail
from pss_guest_data a
, pss_guest_type_data b
where a.guesttypeid = b.id
and a.id = hid; end findGuestById;把中文替换编译试试
这个存储过程不不是很复杂,编译的时候无响应,是不是已经有job或者其他的地方在调用这个procedure了。你可以查询一下dba_ddl_lcoks视图,看看有没有这个procedure的信息。
另外,如果select结果有两条会出错