Hi,
I am trying to import transfer data from one database(sqlserver) to another database(sqlserver)...
But when i run the stored procedure... it gives me the following error
Msg 2627, Level 14, State 1, Procedure usp_ImportFunds_Growthof10K, Line 36
Violation of PRIMARY KEY constraint 'PK_Growthof10K'. Cannot insert duplicate key in object 'Growthof10K'.
and this is my sproc
Code Snippet
USE [StageFiserv_Dev]
GO
/****** Object: StoredProcedure [dbo].[usp_ImportFunds_Growthof10K] Script Date: 08/10/2007 12:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[usp_ImportFunds_Growthof10K]
AS
BEGIN
DECLARE @.Count int
SET NOCOUNT ON;
UPDATE Fiserv_Dev..Growthof10K
SET
ChartHeader = g.ChartHeader,
Dates = Substring(g.Dates,1,9),
NAV = g.NAV,
LastChangeDate = GetDate()
FROM
Fiserv_Dev..Growthof10K gk
Join [Growth] g ON gk.Cusip = g.Cusip
Where
gk.ChartHeader <> g.ChartHeader
OR
gk.Dates <> Substring(g.Dates,1,9)
OR
gk.NAV <> g.NAV
SET @.Count = @.@.ROWCOUNT
IF @.Count > 0
RAISERROR('Updated %d records(s) in Growthof10K.', 0, 1, @.Count) WITH NOWAIT
ELSE
RAISERROR('No changes made Growthof10K.', 0, 1) WITH NOWAIT
RAISERROR('Adding records to Growthof10K.',0,1) With NOWAIT
INSERT INTO Fiserv_Dev..Growthof10K
(
Cusip,
ChartHeader,
Dates,
NAV
)
SELECT
g.Cusip,
g.ChartHeader,
Substring(g.Dates,1,9),
g.NAV
FROM
Growth g
Where
NOT Exists (
Select *
FROM
Fiserv_Dev..Growthof10K gk
Where
gk.Cusip = g.Cusip
)
SET @.Count = @.@.ROWCOUNT
IF @.Count > 0
RAISERROR('Added %d records(s) to Growthof10K table.', 0, 1, @.Count) WITH NOWAIT
ELSE
RAISERROR('No records added to Growthof10K table.', 0, 1) WITH NOWAIT
SET NOCOUNT OFF
END
There around 763 records in the growth table
Can some one please help me.
Regards,
Karen
Karen
You are inserting a duplicate value in a primary key. You can't do that. Delete the duplicate values for the primary key field or remove the primary key constraint.|||
thanks...|||
Did this solve your problem? If so then please mark it as answer.
No comments:
Post a Comment