Bonjour à tous ,
Je me pose une question assez pointue et j'attends que les spécialistes de sql server se manifestent :
Imaginer que je crée une table TBL très simple avec 2 champs :
1-champs ID_PRI qui est une clé primaire auto-incrémentale de type entiere
2-champs B qui est un champs texte
soit la déclaration suivante :
CREATE TABLE [dbo].[TBL](
[ID_PRI ] [smallint] IDENTITY(1,1) NOT NULL,
[B] [varchar](100) NOT NULL,
CONSTRAINT [PK_TBL] PRIMARY KEY CLUSTERED
(
[ID_PRI] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Mon idée est simple , je crée un
trigger after insert sur la table TBL qui inserera dans une table d'historique la valeur courrante de l'ID_PRI qui vient d'être autogénérer dans la table TBL.
(Imaginons que le table d'historique possède une seul colonne [ID_PRI] qui recevra les nouveaux ID autoincrémenté de TBL)
Donc le code de mon trigger serai un truc très simple :
CREATE TRIGGER [dbo].[TRI_TBL]
ON [dbo].[TBL]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
insert into HST(ID_PRI)
select INSERTED.ID_PRI from INSERTED
END
Lorsque j'insère de nouvelles lignes dans la table TBL , sql server me met un warning à chaque fois lorsque j'execute les requetes sql dans le sql management studio.
Est-ce normal et qu'est-ce qu'on peut faire. ?