我已經創建了一個存儲過程來將IDx中的所有項目移動到IDz,因爲它必須記錄它移動的每一行的一些數據。該過程將行ID <移動到IDz沒有任何問題。但是當它必須記錄信息時,它只記錄最後一行被移動的行。我究竟做錯了什麼?MSSQL服務器僅插入最後一行的存儲過程
這是我的代碼:
USE [TrackIT_Test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[MoveCustIDAndAlias]
-- Add the parameters for the stored procedure here
@SourceAdrID int,
@TargetAdrID int,
@Username varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @custID varchar(50)
set @custID = ''
declare @alias varchar(50)
set @alias = ''
-- Insert statements for procedure here
Select @custID = (CustID), @alias = (Alias) from dbo.Alias where AdrID = @SourceAdrID;
Insert into dbo.AliasMoveLog (CustID, Alias, Username) VALUES (@custID, @alias, @Username);
UPDATE dbo.Alias SET AdrID = @TargetAdrID WHERE AdrID = @SourceAdrID;
誰能幫助?
越來越「近關鍵字的語法不正確選擇」,試圖以驗證您的解決方案 – Lahib 2013-03-04 08:42:18
對不起,只是刪除了'VALUES'在INSERT語句後..我已經編輯我的答案.. – 2013-03-04 08:46:16
抱歉,我的壞,有值關鍵字仍然插入。現在工作很好。謝謝你的幫助 – Lahib 2013-03-04 08:46:35