Create Procedure rj2(@rq Date,@name varchar(20),@address varchar(10))
As
Begin
Declare @T Date
set @T=To
if Exist (Select Time from rj where T=To)
update rj
set notes=@notes
set caution=@caution
else
insert into rj(rq,name,address)into values (:rq,:name,:address)
end

解决方案 »

  1.   

    insert into rj(rq,name,address)into values (:rq,:name,:address) 
    insert into rj(rq,name,address)into values (@rq,@name,@address) 吧
      

  2.   

    1. Exist -> Exists2. update rj 
    set notes=@notes 
    set caution=@caution
    ->
    update rq set notes=@notes, caution=@caution3. insert into rj(rq,name,address)into values (:rq,:name,:address)
       ->
       insert into rj(rq,[name],address) values (@rq, @name, @address) 
      

  3.   

    是firebird数据库,To是设定的一个时间值,在这里用变量,这段代码若没有问题,就从前端程序通过参数传入一个数值。
      

  4.   

    insert into rj(rq,name,address)into values (@rq,@name,@address) ;
    存储过程貌似不支持“:”。