【发布时间】:2013-07-23 15:16:59
【问题描述】:
我已经检查了所有有问题的表,并且我已经正确声明了所有变量。
下面的代码调用了一个非常基本的存储过程,如果需要可以提供(我不确定如何在此处正确添加)
DECLARE @DebtorsDebtID AS uniqueidentifier
DECLARE @OldClient AS varchar(15)
DECLARE @ClientID AS varchar(15)
DECLARE @UserName AS varchar(20)
DECLARE @Rows AS int
DECLARE @Count AS int
DECLARE @ID AS int
DECLARE @DebtID AS int
SET @UserName = 'rhys.bartley'
SET @OldClient = 'TMTEST'
SET @ClientID = 'ECCOMMERCIAL'
SELECT tblDebt.PK_DebtID INTO #tmp
FROM tblDebt
WHERE tblDebt.PK_DebtID = 233101
SELECT @Rows = @@ROWCOUNT, @Count = 0
WHILE (@Count < @Rows)
BEGIN
SELECT TOP 1 @ID = PK_DebtID FROM #tmp
SELECT @DebtorsDebtID = PK_DebtorsDebtID FROM tblDebtorsDebt where FK_DebtID = @ID
EXEC sp_DRPL_MassChangeClient @DebtorsDebtID,@OldClient,@ClientID,@UserName,@DebtID
DELETE #tmp WHERE PK_DebtID = @ID
SELECT @Count = @Count + 1
END
sp_DRPL_MassChangeClient
USE [BailiffDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_DRPL_MassChangeClient]
@DebtorsDebtID AS uniqueidentifier,
@DebtID AS int,
@OldClient AS varchar(15),
@ClientID AS varchar(15),
@UserName AS varchar(20)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @BatchNo int
SET @BatchNo = 2457
UPDATE tblArrangement SET FK_ClientID = @ClientID WHERE FK_DebtorsDebtID = @DebtorsDebtID
UPDATE tblDebt SET FK_ClientID = @ClientID WHERE PK_DebtID = @DebtID
UPDATE tblDebtorsDebt SET FK_ClientID = @ClientID WHERE PK_DebtorsDebtID = @DebtorsDebtID
UPDATE tblLetterActivity SET FK_ClientID = @ClientID WHERE FK_DebtID = @DebtID
UPDATE tblTransactions SET FK_ClientID = @ClientID WHERE FK_DebtID = @DebtID
UPDATE tblTransactionsDistributed SET FK_ClientID = @ClientID WHERE FK_DebtID = @DebtID
UPDATE tblTransactionsDistributed_Cancelled SET FK_ClientID = @ClientID WHERE FK_DebtID = @DebtID
UPDATE tblTransactions_Cancelled SET FK_ClientID = @ClientID WHERE FK_DebtID = @DebtID
UPDATE tblDebtLoad SET FK_ClientID = @ClientID WHERE PK_DebtID = @DebtID
UPDATE tblBatchNo SET FK_ClientID = @ClientID WHERE PK_BatchNo = @BatchNo
END
【问题讨论】:
-
您是否尝试自己缩小范围?
-
sp_DRPL_MassChangeClient 提供参数类型
-
@juergend 是的,我自己尝试缩小范围。我重新编辑了这个问题(以前从未在这里发布过),它会将 DECLARE 语句添加到下面的代码部分。
-
欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击“代码示例”按钮 (
{ }) 在编辑器工具栏上以很好地格式化和语法突出显示它! -
好吧,我们需要看看
sp_DRPL_MassChangeClientsp的代码,因为是那个程序抛出了错误
标签: sql sql-server int converter varchar