IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Trigger Syntaxe Erreur


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 38
    Points
    38
    Par défaut Trigger Syntaxe Erreur
    Salut à tous,
    J'ai crée un trigger qui selectionne des champs à partir de plusieurs tables pour ensuite les ajouter dans une table nommée( recruteur)

    Le systeme me signale que j'ai une erreur de syntaxe.

    Je vous envoie mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TRIGGER newTrig1 on Users u,UserRoles ur
       FOR INSERT
         AS
        INSERT INTO Recruteur(idrecruteur, raisonsociale,mail)
        SELECT ur.UserRoleID,u.Username,u.Email
        WHERE ( u.UserID=ur.UserID)
        FOM inserted;
    Merci pour votre Aide.

  2. #2
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Aucune indication dans le message d'erreur ? (genre la ligne ou le mot clef)
    Ton SGBD ?

    Enfin en tous cas, un truc me semble un peu louche : je ne pense pas qu'on puisse faire un trigger qui couvre l'insert simultanné sur plusieurs tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ON Users u,UserRoles ur
    Car quand tu fais un insert, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO UneSeuleTable
    (et si tu en fais plusieurs de suite dans des tables différentes, ce sont des triggers différents...

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 792
    Points : 34 013
    Points
    34 013
    Billets dans le blog
    14
    Par défaut
    Ne serait-ce pas plutôt ceci ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 38
    Points
    38
    Par défaut
    Salut,
    Oui en fait j'aimerai crée l'evenement sur les 2 tables Users et Users Roles de façon à inserer des informations provenant de ces 2 dernièrres dans ma table recruteur.
    J'ai SQl Server 2005 et je travaille avec DotNetNuke , pour mon trigger J'essaie de l'executer via Host>SQl
    Quand J'execute le trigger sans cocher run as script j'ai le message :
    There is an error in your query!
    Quand je le réexecute avec la case run as script cochée j'ai :
    System.Data.SqlClient.SqlException: Incorrect syntax near ','. Incorrect syntax near ','. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL) at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions) CREATE TRIGGER Insert_into_recruteur on Users u,UserRoles ur FOR INSERT AS INSERT INTO Recruteur(idrecruteur, raisonsociale,mail) SELECT (ur.UserRoleID,u.Username,u.Email WHERE ( u.UserID=ur.UserID)) FROM inserted ;
    Merci

Discussions similaires

  1. [syntaxe] erreur de compilation pas comprise
    Par mamelouk dans le forum C++
    Réponses: 20
    Dernier message: 20/08/2007, 12h44
  2. [SQL Serveur 2000] - Trigger gestion erreur
    Par Silvia12 dans le forum Développement
    Réponses: 7
    Dernier message: 12/06/2007, 12h08
  3. [Syntaxe] Erreur segmentation
    Par jo the boss dans le forum C++
    Réponses: 7
    Dernier message: 27/05/2007, 21h39
  4. [syntaxe] erreur introuvable
    Par JohnnyC dans le forum Outils
    Réponses: 2
    Dernier message: 29/04/2004, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo