grapevine
Messages postés29Date d'inscriptiondimanche 4 mai 2003StatutMembreDernière intervention15 juillet 2009
-
22 avril 2009 à 16:27
grapevine
Messages postés29Date d'inscriptiondimanche 4 mai 2003StatutMembreDernière intervention15 juillet 2009
-
26 avril 2009 à 23:47
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. ?
grapevine
Messages postés29Date d'inscriptiondimanche 4 mai 2003StatutMembreDernière intervention15 juillet 2009 26 avril 2009 à 23:47
Merci Greg , en fait je viens de constater que le problème se posait sur sql server 2000 , mais il ne se pas sur 2005.
Merci d'y avoir jeter un coup d'oeil en tout cas