开发工具:
文件大小: 2kb
下载次数: 0
上传时间: 2014-03-26
详细说明: --新建视图 v_desk create view v_desk as select a.*, b.usingType_code, b.sOrderNo from t_desk a left join t_using_desk b on a.id = b.desk_id go --新建台号时向 t_using_desk 插入记录 --台号显示的时候查 v_desk --去掉表 t_dish_orderedNumber --t_order有些字段改为float --t_order_temp增加 price float字段 --t_using_desk增加 sOrderNo nvarchar(20) 字段 --t_dishes 修改 ordered_number float ----------------------------- --发送过程:先选台号,若该台号处于正在使用状态(在表 t_using_desk 中 usingType_code = '02'), --则表明是加菜,从 t_using_desk 中获取该台号对应的 sOrderNo,传入存储过程 sp_orderDishes;(在 sp_orde rDishes 中将有菜品的台号的 singType_code 置为‘02’,在结账时重新置为 ‘01’) --若该台号处于空闲状态(在表 t_using_desk 中 usingType_code = '01'),则表明该台号即将被使用,需生成 sOrderNo, 向 t_order 表中增加该订单的信息,然后执行存储过程 sp_orderDishes ------------------------- --创建存储过程 sp_orderDishes --1、将临时表 t_order_temp 中的数据插入到 t_order_dishes --2、将表 t_using_desk 中对应的 desk_id 的 usingType_code 置为 '02'(使用中) --3、更新 t_dishes 的 ordered_number --4、删除临时表 t_order_temp 中该 userId 对应的数据 --drop procedure sp_orderDishes create procedure sp_orderDishes @orderNo nvarchar(20), @userId uniqueidentifier, @deskId uniqueidentifier as begin transaction insert into t_order_dishes(sOrderNo, dish_id, price, order_num, subtotal, taste_id1, taste_id2, remark, waiter) select @orderNo, dish_id, price, order_num, price*order_num, taste_id1, taste_id2, remark, userId from t_order_temp where userId = @userId IF @@ROWCOUNT > 0 update t_using_desk set usingType_code = '02', sOrderNo = @orderNo where desk_id = @deskId if @@error <> 0 begin rollback transaction--发生错误则回滚事务,无条件退出l return end DECLARE @DishId uniqueidentifier declare @OrderNum float DECLARE My_Cursor CURSOR--定义游标 FOR (SELECT dish_id, order_num FROM t_order_temp where userId = @userId) --查出需要的集合放到游标中 OPEN My_Cursor; --打开游标 FETCH NEXT FROM My_Cursor INTO @DishId, @OrderNum; --读取第一行数据(将 t_order_temp 表中的 dish_id 放到 @DishId 变量中) WHILE @@FETCH_STATUS=0 BEGIN UPDATE t_dishes SET ordered_number = ordered_number + @OrderNum WHERE id = @DishId; --更新数据 FETCH NEXT FROM My_Cursor INTO @DishId, @OrderNum; --读取下一行数据(将 t_order_temp 表中的 dish_id 放到 @DishId 变量中) END CLOSE My_Cursor; --关闭游标 DEALLOCATE My_Cursor; --释放游标 if @@error <> 0 begin rollback transaction--发生错误则回滚事务,无条件退出l return end delete from t_order_temp where userId = @userId if @@error <> 0 begin rollback transaction--发生错误则回滚事务,无条件退出l return end commit transaction --所有语句都完成,提交事务 go --新建视图 v_order_temp create view v_order_temp as select a.userId as userId, b.name_ch as dishName_ch, b.name_en as dishName_en, a.price as price, a.order_num as order_num, e.name_ch as dishUnitName_ch, e.name_en as dishUnitName_en, isnull(c.name_ch, '')+isnull(','+d.name_ch, '') as tasteName_ch, isnull(c.name_en, '')+isnull(','+d.name_en, '') as tasteName_en, a.remark as remark from t_order_temp a left join t_dishes b on a.dish_id = b.id left join t_taste c on a.taste_id1 = c.id left join t_taste d on a.taste_id2 = d.id left join t_dish_unit e on b.dishUnit_id = e.id go --新建表 t_title_caption create table t_title_caption ( code nvarchar(20), name_ch nvarchar(20), name_en nvarchar(80), item_index int ) go ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.