如何解决SQL插入使用存储过程来获取下一个唯一记录值
我正在使用一个存储过程来获取系统中的下一个唯一编号,但是我如何在每次插入时执行该操作,当前它运行并将每次OD_ID值设置为相同的#,但是我想要为了使他在每次插入时都执行语句而感到震惊。
所以字段OD_ID应该在每次插入时都发生变化,但保持不变,因为我认为我缺少每次插入运行时如何对其进行循环的方法,这里的任何帮助将不胜感激。
DECLARE @Tbl TABLE(ID varchar(50));
INSERT INTO @Tbl EXEC [PLShared].[dbo].smsp_GetControlNumber 'ORDDET';
declare @ITEMDESC NVARCHAR(max)
SELECT @ITEMDESC = [DESC] + ' '+ EXTD_DESC FROM PLSHARED.DBO.ITEM WHERE ITEM_NO = 'F053'
--SELECT @ITEMDESC
begin
CREATE TABLE #hydrorainwinter2
( [Order_NO] [char] (20),[Item_No] [char] (20),[Price] [decimal] (15),[Qty_Ord] [decimal] (15),[Qty_Pick] [decimal] (15),[Qty_Ship] [decimal] (15),[UOM] [char] (10),[Job_Id] [char] (20),[OD_id] [char] (20),[Extended] [decimal] (12),[Seq_no] [char] (6),[Print_Flag] [char] (1),[GLCODE_COG] [char] (20),[GLCODE_INC] [char] (20),[DESC] [varchar] (max),[Tax_code5] [char] (10)
)
INSERT INTO #hydrorainwinter2
select Ordhdr.order_no as Order_NO,'F053' AS ITEM_NO,0.00 AS PRICE,1.00 AS QTY_ORD,0.00 AS QTY_PICK,0.00 AS QTY_SHIP,'FLAT' AS UOM,ordhdr.JOB_ID as Job_id,(SELECT ID FROM @Tbl) AS OD_ID,0.00 AS EXTENDED,'999' AS SEQ_NO,'N' AS PRINT_FLAG,'5000-000' AS GLCODE_COG,'4100-DDD' AS GLCODE_INC,@ITEMDESC AS [DESC],'00-TAXABLE' AS TAXCODE_5
FROM pl00.dbo.ordhdr
inner join plshared.dbo.client on client.ACCT_NO = ordhdr.ACCT_NO
inner join plshared.dbo.[system] on [system].ACCT_NO = client.ACCT_NO
where not exists (select *
from pl00.dbo.orddet
where orddet.ORDER_NO = ordhdr.order_no and orddet.ITEM_NO in ('F053') and ordhdr.[type] = 'RCO')
and [system].[TYPE] like ('%wifi%')
and [system].MANUFACT like '%HYDRORAIN%'
and ordhdr.[type] = 'RCO'
and ordhdr.CLOSED = 'N'
and (ordhdr.WORK_TYPE like '%SPRING%')
--and ordhdr.ACCT_NO = 'KNO-M35'
INSERT INTO PL00.DBO.orddet (ORDER_NO,ITEM_NO,PRICE,QTY_ORD,QTY_PICK,QTY_SHIP,UOM,JOB_ID,OD_ID,EXTENDED,SEQ_NO,PRINT_FLAG,GLCODE_COG,GLCODE_INC,[DESC],TAX_CODE5)
select *
FROM #hydrorainwinter2
Drop Table #hydrorainwinter2
END
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。