程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL存儲過程

SQL存儲過程

編輯:關於SqlServer

1、拆分字符串

IF EXISTS(SELECT NAME FROM sysobjects
 WHERE NAME = N''procInsertOrderInfoOrderList'' AND Type = N''P'')
DROP PROCEDURE procInsertOrderInfoOrderList
GO

CREATE PROCEDURE procInsertOrderInfoOrderList
   (
 @Did NVARCHAR(1000),   --餐桌號(團體時為字符串)
 @Mid NVARCHAR(4000),   --非套餐時為:菜單號或拼音(字符串),套餐時為:套餐號
 @Onum NVARCHAR(4000),  --非套餐時為:各個菜的數量(字符串),套餐時為:套餐的數量1
 @Onume INT,    --餐桌實做人數
 @Uid INT,    --終端下單服務員員工編號
 @OremarkList NVARCHAR(4000), --菜的備注(字符串)
 @Oflag BIT,    --是否套餐標志{(0,非套餐),(1,套餐)}
 @Nstatus BIT    --用於判斷是團體還是個人{(0,個人),(1,團體)}
   )
AS
BEGIN
 DECLARE @dt NVARCHAR(1000)  --用於存放拆分後的餐桌號
 DECLARE @rt NVARCHAR(4000)  --用於存放拆分後的菜單號
 DECLARE @rt1 NVARCHAR(4000)  --存放拆分後的菜的備注
 DECLARE @rt2 NVARCHAR(4000)  --用於存放拆分後的數量
 DECLARE @Orid NVARCHAR(20) --要插入數據庫中的訂單號
 DECLARE @Did1 INT   --要插入數據庫中的餐桌號
 DECLARE @OIid INT   --要插入數據庫中的訂單號對應的記錄號 
 DECLARE @Mid1 INT   --要插入數據庫中的菜單號
 DECLARE @BLid INT   --要插入數據庫中的套餐號
 DECLARE @MPrice1 MONEY  --要插入數據庫中的價格
 DECLARE @Mname1 NVARCHAR(20) --存儲菜單對應的拼音
 DECLARE @Oremark NVARCHAR(200) --要插入數據庫中的菜的備注
 DECLARE @count INT   --用於統計餐桌的個數
 DECLARE @count1 INT   --統計菜單的個數
 DECLARE @count2 INT   --統計一個餐桌上相同菜的個數
 DECLARE @mm INT   --用於循環餐桌的個數
 DECLARE @nn INT   --用於循環插入菜單的個數
 DECLARE @i INT   --用於處理拆分調用SUBSTRING的個數
 DECLARE @ii INT   --用於處理拆分調用SUBSTRING的個數
 DECLARE @timeID NVARCHAR(17) --獲取時間唯一標示
 DECLARE @OrderInfoDid INT  --用於團體開單時取同一個訂單號
 DECLARE @FirstYN INT   --判斷是開單還是加菜{(0,開單),(大於0,加菜)}
 DECLARE @DidYN INT   --存儲接收處理後的餐桌號,

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved