begin process at 2010 02 10 03:07:19
  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 erreur creation de champs [ par georgesm ] Bonjour,j'ai une base sur Mysql avec plusieurs table. Mon problème est le suivant:Une des tables refuse l'enregistrement de nouvelles données à partir Besoin d'aide pour une requête [ par theguitou ] Bonjour,Je cherche un moyen "propre" de "transformer" une table de ce genre :ID | ATTRIBUT-------------1  | mu11  | mu21  | mu32  | mu42  | mu53  | mu [SQL Server 2000] Requete SQL Comparer 2 table [ par sdisp ] Bonjour.J'essaie de faire une requête qui me pose soucis!Je vous explique, j'ai de table de structure identique dans 2 bases différentes, soit:- base1 Modification propriétaire d'une table s'ube base de donées Sql [ par Palenf ] Bonjour,Je souhaiterais modifier le propriétaire d'une table d'une base de données sous SQL serveur 2000.Le problème que je rencontre est le suivant : [SSIS] Requete SQL [ par sdisp ] Bonjour.Je souhaite via SSIS:- exécuter une requête SQL (je souhaite que la requête soit une variable)- créer un fichier texte contenant le résultat d DEFINIR UNE CONTRAINTE D'UNICITE [ par issousam ] Bonjour,Je m'adresse à vous car je debute en langage SQL et j'ai un probleme au niveau des contarintes d'unicité que je veux definir au sein des table


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,468 sec (3)

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