OVH Cloud OVH Cloud

Mise à jour d'une table vers une autre table

5 réponses
Avatar
alex
Bonjour,

Je souhaite sur une même base de donnée SQL, mettre à jour un champ d'une
table F_article depuis F_article2 :


Source : F_Article2
disposant d'un code article AR_REF
disposant d'une colonne AR_L1 qui est complet

Destination : F_Article
disposant d'un code article AR_REF
disposant d'une colonne AR_L1 qui est vide

Je souhaite mettre à jour le AR_L1 vide par le complet
Conditions :
Si AR_REF est bien le même entre la jointure des 2 tables
Si AR_L1 est vide, alors faire le remplacement de la table source vers la
table destination.

Si quelqu'un a un requête sql pour m'aider sur ce point, ce serait super.
Par avance, merci à tous.
Alex

5 réponses

Avatar
Gilles LE BARBIER
Salut alex ,

Cas d'école :-)

Update F_Article set AR_L1 = source.AR_L1
From F_Article
JOIN F_Article2 source on source.AR_REF = F_article.AR_REF

écrit sans test !!

Gilles


"alex" a écrit dans le message de news:
455d7fec$0$5074$
Bonjour,

Je souhaite sur une même base de donnée SQL, mettre à jour un champ d'une
table F_article depuis F_article2 :


Source : F_Article2
disposant d'un code article AR_REF
disposant d'une colonne AR_L1 qui est complet

Destination : F_Article
disposant d'un code article AR_REF
disposant d'une colonne AR_L1 qui est vide

Je souhaite mettre à jour le AR_L1 vide par le complet
Conditions :
Si AR_REF est bien le même entre la jointure des 2 tables
Si AR_L1 est vide, alors faire le remplacement de la table source vers la
table destination.

Si quelqu'un a un requête sql pour m'aider sur ce point, ce serait super.
Par avance, merci à tous.
Alex



Avatar
alex
Bonjour,
Ca me semble très au niveau du code, par contre, j'ai des erreurs sur les
tables systèmes.

Alexandre


"Gilles LE BARBIER" a écrit dans le message de
news:
Salut alex ,

Cas d'école :-)

Update F_Article set AR_L1 = source.AR_L1
From F_Article
JOIN F_Article2 source on source.AR_REF = F_article.AR_REF

écrit sans test !!

Gilles


"alex" a écrit dans le message de news:
455d7fec$0$5074$
Bonjour,

Je souhaite sur une même base de donnée SQL, mettre à jour un champ d'une
table F_article depuis F_article2 :


Source : F_Article2
disposant d'un code article AR_REF
disposant d'une colonne AR_L1 qui est complet

Destination : F_Article
disposant d'un code article AR_REF
disposant d'une colonne AR_L1 qui est vide

Je souhaite mettre à jour le AR_L1 vide par le complet
Conditions :
Si AR_REF est bien le même entre la jointure des 2 tables
Si AR_L1 est vide, alors faire le remplacement de la table source vers la
table destination.

Si quelqu'un a un requête sql pour m'aider sur ce point, ce serait super.
Par avance, merci à tous.
Alex






Avatar
Gilles LE BARBIER
> Ca me semble très au niveau du code, par contre, j'ai des erreurs sur les
tables systèmes.



Je ne comprend pas !!
que veux tu dire par très au niveau du code ?
et tes erreur sur tables systèmes ? les SYSColumns etc ???
Avatar
alex
Bonjour,
J'ai oublié le "bien".
Ca me semble bon au niveau du code.

update F_article
set AR_Langue1 = F_article.Ar_Langue1
from F_article join F_article2 F_article2
on F_article2.Ar_ref = F_article.Ar_ref

puisque le contrôle est ok.

Par contre l'execution donne 4 lignes en erreurs :
server : msg 2812, level 16, state62, procédure CB_FntIsFileLock, line9 :
could not find stored procedure 'master..xp_CBIsFilelock'.

C'est possible de passer outre un blocage de ce type ?

Merci.
alex
Avatar
alex
bonjour,

Malgré les quatre lignes d'erreurs, tout est bien remplacé dans ma table de
dstination.
Merci pour le code.
Alex