存储过程中的错误 [英] error in store procedure

查看:79
本文介绍了存储过程中的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆