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

MS SQL Server Discussion :

Trigger d'update sur une seconde BD + champ date


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juillet 2012
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Trigger d'update sur une seconde BD + champ date
    Bonjour,

    J'ai un souci avec un trigger d'update

    J'explique Sur ma BD 1 j'ai un trigger qui update ma BD 2 (je ne connais pas le DB name, il est stocké dans un champ)

    Donc je passe par du SQL dynamique

    Ma requête fonctionne bien a l'exception d'une partie avec une date

    Pour simplifier je met ici 2 requêtes sur une variable datetime (le problème dans mon trigger est le même)

    La première requête fonctionne la seconde me donne l'erreur

    Msg 102, Level 15, State 1, Line 1
    Incorrect syntax near '29'.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DECLARE @DATE DATETIME
     
     
     
    SET @DATE='2014-05-29'
     
    SELECT @DATE
     
    EXEC('SELECT '+@DATE+'')

    Comment faire fonctionner la seconde requête

    en passant par le exec ?

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Points : 586
    Points
    586
    Par défaut
    direct sans chercher plus loin que ça je pense
    au quotes.

    ça marche mieux comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC('SELECT '''+@DATE+'''')
    Éventuellement comme ça pour le format

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXEC('SELECT CAST('''+@DATE+''' as datetime)')

    dans le cas contraire, il faudrait connaitre la configuration des paramètres régionaux des deux serveur

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 858
    Points : 52 996
    Points
    52 996
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par CHoule Voir le message
    Bonjour,

    J'ai un souci avec un trigger d'update

    J'explique Sur ma BD 1 j'ai un trigger qui update ma BD 2 (je ne connais pas le DB name, il est stocké dans un champ)

    Donc je passe par du SQL dynamique

    Ma requête fonctionne bien a l'exception d'une partie avec une date

    Pour simplifier je met ici 2 requêtes sur une variable datetime (le problème dans mon trigger est le même)

    La première requête fonctionne la seconde me donne l'erreur

    Msg 102, Level 15, State 1, Line 1
    Incorrect syntax near '29'.



    DECLARE @DATE DATETIME



    SET @DATE='2014-05-29'
    Le format pour un type DATETIME est AAAAMMJJ (ISO court) et non pas AAAA-MM-JJ (ISO long). Le format ISO long est réservé aux types suivants :
    DATETIME2, DATE, DATETIMEOFFSET.

    a +

Discussions similaires

  1. Trigger function update sur champs XML
    Par ldiaz dans le forum SQL Procédural
    Réponses: 24
    Dernier message: 20/06/2012, 17h01
  2. [trigger]Probleme d'update sur une table
    Par AlternantOracle dans le forum PL/SQL
    Réponses: 5
    Dernier message: 25/02/2010, 15h11
  3. Update sur une partie du contenu d'un champ
    Par lodan dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/11/2008, 15h21
  4. Réponses: 5
    Dernier message: 15/06/2007, 16h05
  5. Problème sur une requete avec champ date
    Par islande dans le forum Access
    Réponses: 2
    Dernier message: 21/09/2006, 19h39

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