各位大侠:
  create or replace procedure upbuslocation(mindex number,longitude number,latitude number,angle number,speed number,time date) is
begin
 if(select count(*) from d_buslocation where Mindex=mindex)>0
  update d_buslocation set Longitude=longitude,Latitude=latitude,Speed=speed,
  Angle=angle,[Time]=time where Mindex=mindex
 else
  insert into d_buslocation values(mindex,longitude,latitude,speed,angle,time)
insert into d_buslocation_his values(mindex,longitude,latitude,speed,angle,time)
end upbuslocation;
提示我select有问题
请问该怎么改,谢谢!

解决方案 »

  1.   

    create or replace procedure upbuslocation(mindex number,longitude number,latitude number,angle number,speed number,time date) 
    is
       v_count       number; 
    begin 
       select count(*) into v_count from d_buslocation where Mindex=mindex;
       if v_count>0 then
         update d_buslocation set Longitude=longitude,Latitude=latitude,Speed=speed, 
         Angle=angle,[Time]=time where Mindex=mindex
    ………… 
      

  2.   

    create or replace procedure upbuslocation(mindex number,longitude number,latitude number,angle number,speed number,time date) 
    is 
    count number;
    begin 
    select count(*) from d_buslocation where Mindex=mindex;
    if count>0
    then 
      update d_buslocation set Longitude=longitude,Latitude=latitude,Speed=speed, 
      Angle=angle,[Time]=time where Mindex=mindex 
    else 
    insert into d_buslocation values(mindex,longitude,latitude,speed,angle,time) 
    insert into d_buslocation_his values(mindex,longitude,latitude,speed,angle,time) 
    end upbuslocation; 
      

  3.   

    create or replace procedure upbuslocation(mindex number,longitude number,latitude number,angle number,speed number,time date) 
    is 
    l_count number;
    begin 
    select count(*) from d_buslocation where Mindex=mindex;
    if l_count>0
    then 
      update d_buslocation set Longitude=longitude,Latitude=latitude,Speed=speed, 
      Angle=angle,[Time]=time where Mindex=mindex 
    else 
    insert into d_buslocation values(mindex,longitude,latitude,speed,angle,time) 
    insert into d_buslocation_his values(mindex,longitude,latitude,speed,angle,time) 
    end upbuslocation;