sql语句哪里出问题了

舞中之飞 2017-11-05 10:36:54
exec sp_executesql N' begin transaction declare @sum int=0;
insert into LodgeInfo values(@LodgeRoomNo,
@LodgeBookTime,@LodgeBookDays,@LodgeEndTime,@LodgeDiscountValue,
@LodgeTotalValue,@LodgeShouldValue) set @sum=@sum+@@error
insert into Customer values(@c_name,@c_sex,@c_phone,@c_state,
@c_already_pay,@c_cardid,@c_customer_typeid)
set @sum=@sum+@@error insert into RoomInfo values(@RoomTypeId,@RoomState)
set @sum=@sum+@@error
if @sum<>0
begin roolback end
else begin commit end
',N'@LodgeRoomNo int,@LodgeBookTime date,
@LodgeBookDays int,@LodgeEndTime date,@LodgeDiscountValue float,
@LodgeTotalValue float,
@LodgeShouldValue float,
@c_name varchar(50),
@c_sex varchar(4),
@c_phone varchar(50),
@c_state varchar(30),
@c_already_pay float,@c_cardid varchar(50),@c_customer_typeid int,@RoomTypeId int,
@RoomState varchar(10)',@LodgeRoomNo=6,@LodgeBookTime='2017-11-01',@LodgeBookDays=4,@LodgeEndTime='2017-11-05',
@LodgeDiscountValue=0,@LodgeTotalValue=320,@LodgeShouldValue=320,@c_name='eef',@c_sex='男',@c_phone='32323',
@c_state='占用',@c_already_pay=3323,@c_cardid='323223',@c_customer_typeid=1,@RoomTypeId=6,@RoomState='占用'



消息 102,级别 15,状态 1,第 19 行
“roolback”附近有语法错误。
...全文
207 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2017-11-05
  • 打赏
  • 举报
回复
rollback 你拼接成了 roolback了。
二月十六 2017-11-05
  • 打赏
  • 举报
回复
提示的很明显了,如果写在字符串中发现不了,就把字符串拿出来,看一下;
吉普赛的歌 2017-11-05
  • 打赏
  • 举报
回复
#1版主说得对。另外你的代码帮你改了一下。不清爽的代码, 最终很难排查出错误:
DECLARE @sql NVARCHAR(MAX)
SET @sql='
BEGIN TRANSACTION 
DECLARE @sum INT = 0;  
INSERT INTO LodgeInfo
VALUES
  (
    @LodgeRoomNo,
    @LodgeBookTime,
    @LodgeBookDays,
    @LodgeEndTime,
    @LodgeDiscountValue,
    @LodgeTotalValue,
    @LodgeShouldValue
  ) 
SET @sum = @sum + @@error    
INSERT INTO Customer
VALUES
  (
    @c_name,
    @c_sex,
    @c_phone,
    @c_state,
    @c_already_pay,
    @c_cardid,
    @c_customer_typeid
  ) 
SET @sum = @sum + @@error     
INSERT INTO RoomInfo
VALUES
  (
    @RoomTypeId,
    @RoomState
  ) 
SET @sum = @sum + @@error 
IF @sum <> 0
BEGIN
    ROLLBACK TRAN
END
ELSE
BEGIN
    COMMIT TRAN
END   
顺便给你推荐个工具:http://download.csdn.net/download/yenange/9535204 Ctrl+F11 就可以将代码整理得清爽无比。
日月路明 2017-11-05
  • 打赏
  • 举报
回复
这种代码看的头疼

594

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧