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:
quand je vérifie la syntaxe, ca me répond :
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
un grand merci à mon(a) sauveur(se) !Msg*170, Niveau*15, État*1, Procédure*Hist_etiqcondi_NEW, Ligne*57
Ligne 57 : syntaxe incorrecte vers 'NOARTI'.
Partager