跪求SQL牛人拯救。熬了一夜了,没找到原因
USE [xlmis]
GO
/****** Object: StoredProcedure [dbo].[Pb_SendBillToInvoice] Script Date: 09/20/2014 05:06:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[Pb_SendBillToInvoice] @BillClient int,@IDString nvarchar(1000)='',@UserID int,@UserName nvarchar(50)
as
declare @sql nvarchar(max)='',@invoiceid int
--处理数据源
select item_id itemid,* into #Temp from Tb_BillItem where 1=0
alter table #Temp drop column item_id
select @sql= N'insert into #Temp select * from xlmis.dbo.Tb_BillItem where item_id in ('+@IDString+')'
exec sp_executesql @sql
alter table #Temp add invoice_id int
--插入主表
insert into XLData.dbo.htxx_invoice_input(client_id,customer_name,invoice_flag,extract_flag,freight_charge,batch_code,creator_id,creator_name)
select @BillClient,customer_name,(case when (select invoice_money from #Temp)>0 then 0 else 4 end),(select top 1 machine_number from #Temp),isnull((select SUM(freight_cost) from #Temp),0),(select top 1 batch_code from #Temp),@UserID,@UserName from Tb_ClientInfo where client_id=@BillClient
select @invoiceid=IDENT_CURRENT('XLData.dbo.htxx_invoice_input')
--更新从表数据源
update #Temp set invoice_id=@invoiceid
--插入从表
insert into XLData.dbo.htxx_invoice_input_item(item_id,invoice_id,[type_id],[type_name],item_name,item_price,tax_rate,tax_money,item_amount,item_money,free_amount,item_stand)
select itemid,invoice_id,[type_id],[type_name],product_type,invoice_price,tax_rate,tax_money,invoice_amount,invoice_money,free_amount,product_model from #Temp
select @sql= N'update Tb_BillItem set invoice_status=1 where item_id in ('+@IDString+')'
exec sp_executesql @sql
truncate table #Temp
drop table #Temp

搞不懂什么原因,之前还可以的。
GO
/****** Object: StoredProcedure [dbo].[Pb_SendBillToInvoice] Script Date: 09/20/2014 05:06:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[Pb_SendBillToInvoice] @BillClient int,@IDString nvarchar(1000)='',@UserID int,@UserName nvarchar(50)
as
declare @sql nvarchar(max)='',@invoiceid int
--处理数据源
select item_id itemid,* into #Temp from Tb_BillItem where 1=0
alter table #Temp drop column item_id
select @sql= N'insert into #Temp select * from xlmis.dbo.Tb_BillItem where item_id in ('+@IDString+')'
exec sp_executesql @sql
alter table #Temp add invoice_id int
--插入主表
insert into XLData.dbo.htxx_invoice_input(client_id,customer_name,invoice_flag,extract_flag,freight_charge,batch_code,creator_id,creator_name)
select @BillClient,customer_name,(case when (select invoice_money from #Temp)>0 then 0 else 4 end),(select top 1 machine_number from #Temp),isnull((select SUM(freight_cost) from #Temp),0),(select top 1 batch_code from #Temp),@UserID,@UserName from Tb_ClientInfo where client_id=@BillClient
select @invoiceid=IDENT_CURRENT('XLData.dbo.htxx_invoice_input')
--更新从表数据源
update #Temp set invoice_id=@invoiceid
--插入从表
insert into XLData.dbo.htxx_invoice_input_item(item_id,invoice_id,[type_id],[type_name],item_name,item_price,tax_rate,tax_money,item_amount,item_money,free_amount,item_stand)
select itemid,invoice_id,[type_id],[type_name],product_type,invoice_price,tax_rate,tax_money,invoice_amount,invoice_money,free_amount,product_model from #Temp
select @sql= N'update Tb_BillItem set invoice_status=1 where item_id in ('+@IDString+')'
exec sp_executesql @sql
truncate table #Temp
drop table #Temp

搞不懂什么原因,之前还可以的。
...全文
相关推荐
一个牛人提供的GIS源码(很好)
一个牛人提供的GIS源码(很好下面文字非本人所写,文件提到的下载的东西我全部放包里了。最后的礼物:校园多媒体系统和校园WEBGIS系统为什么说是最后的礼物,大概是因为我突然想这个blog不更新了。为什
sql学习 hint无法生效原因1_算法没能够支持.sql
sql学习 hint无法生效原因1_算法没能够支持.sql
牛人总结的SQL语句
根据给定的信息,“牛人总结的SQL语句”是一篇关于SQL语言中经典语句的总结,涵盖了多种数据库操作命令,下面将详细解释这些知识点。
sql安装失败的原因
### SQL安装失败的原因及解决方法#### 一、SQL安装失败常见原因1. **系统配置问题**:系统配置不当可能会导致SQL Server安装过程中出现问题。
拯救你的数据 通过日志恢复MSSQL数据
"这篇文章主要介绍了如何通过SQL Server的日志恢复机制来拯救误删除或修改的数据。在SQL Server中,为了确保数据的完整性和可恢复性,数据库应设置为非简单恢复模式。首先,创建了一个名为'


