begin process at 2012 02 04 19:01:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Trigger et @@identity dans sql server


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trigger et @@identity dans sql server

mercredi 22 avril 2009 à 16:27:03 | Trigger et @@identity dans sql server

grapevine

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. ?


dimanche 26 avril 2009 à 20:19:29 | Re : Trigger et @@identity dans sql server

gperuch

Essais ca mais je ne suis pas sure:

CREATE TRIGGER [dbo].[TRI_TBL]
   ON  [dbo].[TBL]
   AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON;
 
declare @ID_PRI int
  set @ID_PRI = INSERTED.ID_PRI
    insert into HST(ID_PRI)
        values (@ID_PRI)

END
Il faudrait un copier coller du warning si ca ne marche pas

greg
dimanche 26 avril 2009 à 23:47:11 | Re : Trigger et @@identity dans sql server

grapevine

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


zenzen


Cette discussion est classée dans : table, sql, id, tbl, pri


Répondre à ce message

Sujets en rapport avec ce message

if dans une procédure stocké ? [ par jesusonline ] Bonjour, je ne connais pas encore SQLj'ai une table articles qui a un champ ID et je voudrais une fonction stocké qui prend en paramètre un ID et qui Dépendance de tables SQL [ par toutgreg ] Bonjour, Je suis entrain de faire l'architecture de ma base SQL et je bloque sur une dépendance de table. Pour résumer, j'ai 3 tables et je cherche à parcourir une table en T-sql [ par ninini2008 ] Bonjourje suis en stage et je veux parcourir une table qui contien deux colonne ID_MACHINE1 et ID_MACHINE2 , j'ai recupéré les deux ID à partir d'autr sql:insertion dans 2 tables liées [ par ti7a ] Bonjour, slt tt le monde bon j'ai deux tables : la table voiture (id_voiture,id_marque ,couleur,ville.............); et la table option (id_option, solution d'une requete sql [ par jouxx ] Bonjour, je suis nouveau là et aussi au domaine de programmation :p svp je vx la solution d'une requete sql voilà les tables et on me demande d' : requetes sql parametrées [ par houhou72 ] bonjours j'ai un message d'erreur qui s'affiche: utilisation incorrecte du mot-cle. element date voici ma requete select * from recu(ma table) where d Problème création table en SQL Server [ par anouar2002 ] Salut !!! Je veux faire une création de certains tables en SQL Server 2005, il y a toujours un erreur concernant les clés étrangers je suppose qui me Requete SQL et formulaire [ par FlyingAlex ] Bonjour, J'ai effectue la requête suivante : SELECT Max([Master Table].[Part Number]+1) AS [Part NumberOfMax] FROM [Master Table]; Qui me permet d Aide pour sql [ par romdeljesus ] Bonjour, j'ai essaye de crayer une base de donnees contenant 2 tables sur netbeans 7.01. je cree une premiere table contenant l'entier id comme cle p Comment recuperer le dernier enregistrement d'une table en sql [ par ambts ] Salut, est ce que vous pouvez m'aidé Comment recuperer le dernier enregistrement d'une table en sql la requete qui retourne dernier enregistrement :


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales