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 :

Jointure de table avec champs calculé sur serveur lié


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut Jointure de table avec champs calculé sur serveur lié
    Bonjour les gens,
    question SQL je ne suis pas fortiche et malgré mes recherches je n'ai pas pu élucider ce mystère.

    donc voila, je bosse sur "SQL server 2000" avec une base nommée "MES" et un serveur lié nommé "DW" avec une base nommée "ERP"

    sur DW.ERP j'ai une table "ARTVL" avec comme clé "NOARTI"
    sur MES j'ai une table "EtiqCondi" avec comme clé primaire "CODE_PRODUIT"

    ces 2 clefs ne collent pas exactement :
    "NOARTI" est plus court de 1 chiffre et est un entier.
    "CODE_PRODUIT" est une chaine de caractères.
    par exemple si "CODE_PRODUIT" = '00012345' c'est que "NOARTI" = 1234

    je voudrais faire un trigger qui, quand une ligne est entrée dans la table "EtiqCondi" renseigne une table "HistEtiqCondi_NEW" avec des infos supplémentaires venants de DW.ERP.ARTVL
    voila, maintenant que j'ai précisé le contexte voici ma requête qui marche PRESQUE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE TRIGGER Hist_etiqcondi_NEW
    ON dbo.etiqcondi
    FOR  INSERT
    AS 
    BEGIN
    	insert Histetiqcondi_NEW 
    	select TOP 1 
    	[OFAB],
    	[CODE_PRODUIT], 	
    	ARTVL.[decidement],
    	ARTVL.[sql_ca_menerve],
    FROM INSERTED LEFT OUTER JOIN 
    OPENQUERY(DW,'SELECT * FROM ERP.dbo.ARTVL') ARTVL ON CAST(LEFT([CODE_PRODUIT],LEN([CODE_PRODUIT])-1) AS INT) = ARTVL.NOARTI
    quand je vérifie la syntaxe, ca me répond :

    Msg*170, Niveau*15, État*1, Procédure*Hist_etiqcondi_NEW, Ligne*57
    Ligne 57 : syntaxe incorrecte vers 'NOARTI'.
    un grand merci à mon(a) sauveur(se) !

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    MOUAHAHAHAHA ne cherchez plus !!!

    il manquait juste le "END" !!!

    désolé tout plein

    merci moi
    (message à moi-même : t'es neuneu !)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. TCD avec champ calculé sur des champs nombre
    Par Scrabblouille dans le forum Excel
    Réponses: 0
    Dernier message: 06/10/2011, 20h16
  2. Réponses: 11
    Dernier message: 08/01/2008, 11h36
  3. Erreur sur CREATE TABLE avec champ boolean
    Par codial dans le forum Bases de données
    Réponses: 1
    Dernier message: 23/03/2007, 18h30
  4. formulaire avec champ calcules sur access
    Par tobisko dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2006, 13h52
  5. [MySQL] Requete sur 2 tables avec champs commun
    Par marcd dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/04/2006, 16h14

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