存储过程中的错误 [英] error in store procedure
本文介绍了存储过程中的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
CREATE PROCEDURE dbo.usp_booking_insert
@user_id int,
@journey_place varchar(50),
@pickup_address varchar(250),
@return_address varchar(250),
@service_id int,
@vehicle_id int,
@mode_of_payment varchar(50),
@status varchar(5),
@starting_km decimal(15,4),
@ending_km decimal(15,4),
@booking_date datetime
AS
Begin
Declare @uid int
if(@uid = 0)
Begin
set uid = (select max(user_id) from registration)
End
Else
Begin
set uid = @user_id
End
insert into booking (user_id,journey_place,pickup_date,pickup_address,return_date,return_address,service_id,vehicle_id,mode_of_payment,status,starting_km,ending_km,booking_date)
values (@uid,@journey_place,getdate(),@pickup_address,getdate(),@return_address,@service_id,@vehicle_id,@mode_of_payment,''true'',0,0,@booking_date)
End
在错误语法附近''=''的存储过程中出错
there is an error in dis store procedure of "incorrect syntax near ''=''"
推荐答案
首先,您使用的是 SET [ ^ ]没有正确的语法,你错过了@:设置 @ uid =
。
BTW:测试变量是什么意思声明之后的值是什么?
First of all, you are using SET[^] not with correct syntax, you missed the @:set @uid =
.
BTW: what is the meaning to test the variable value right after declaring it?
除了上面发布的解决方案..我建议你更改这行代码
In addition to the above solution posted .. I would suggest you to change this line of code
set uid = (select max(user_id) from registration)
应更改为
should be changed to
select @uid=max(user_id) from registration
这篇关于存储过程中的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文