У меня есть таблица с 3 первичными ключами: CODE_TARIF, UNITE
и MODE_LIV
.
Я пишу хранимую процедуру для копирования и вставки, но с другими MODE_LIV
.
ex:если у меня уже есть 2 строки в таблице T_TARIF
с MODE_LIV = 2,
, когда я запускаю эту хранимую процедуру с вводом MODE_LIV =3
, у меня будет 4 строки.
ALTER PROCEDURE [dbo].[Copy_Tarif]
-- Add the parameters for the stored procedure here
@MODE_LIV int
AS
BEGIN
DECLARE @CODE_TARIF varchar(15)
DECLARE @ZONE int
DECLARE @UNITE int
DECLARE @LIBELLE varchar(30)
DECLARE @TR_DEB int
DECLARE @TR_FIN int
DECLARE @MONTANT decimal(18,2)
DECLARE tarif_cursor CURSOR FOR
SELECT CODE_TARIF, ZONE, UNITE, LIBELLE, TR_DEBUT, TR_FIN, MONTANT
FROM T_TARIF
OPEN tarif_cursor;
FETCH NEXT FROM tarif_cursor
INTO @CODE_TARIF, @ZONE, @UNITE, @LIBELLE, @TR_DEB, @TR_FIN, @MONTANT;
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO [T_TARIF]
([CODE_TARIF]
,[ZONE]
,[UNITE]
,[MODE_LIV]
,[LIBELLE]
,[TR_DEBUT]
,[TR_FIN]
,[MONTANT]
)
VALUES
(@CODE_TARIF
,@ZONE
,@UNITE
,@MODE_LIV
,@LIBELLE
,@TR_DEB
,@TR_FIN
,@MONTANT
)
FETCH NEXT FROM tarif_cursor
INTO @CODE_TARIF, @ZONE, @UNITE, @LIBELLE, @TR_DEB, @TR_FIN, @MONTANT;
END
END
Это работает, но выдает ошибку см.Видео: Странная хранимая процедура
Заранее спасибо, Стив