OVH Cloud OVH Cloud

requete sqlserver / pb de syntaxe

8 réponses
Avatar
Spectre
Bonjour,
J'ai une application fonctionnant sous access et sqlserver.

La requête suivante fonctionne sans pb sous access mais une erreur de
syntaxe est signalée sous sqlserver ligne 2 ( "Syntaxe incorrecte vers le
mot clé 'INNER'.")
Je n'arrive pas à m'en dépétrer. Toute aide serait la bienvenue!
Pour info :

MaxAllDate est une table
Pos est une table
Mconcat est une requête.


UPDATE MaxAllDate
INNER JOIN
(POS INNER JOIN MConcat ON POS.sPARENTPOS = MConcat.CONCAT)
ON (MaxAllDate.CVID = POS.CVID)
AND (MaxAllDate.MaxDeENTD = POS.ENTD)
SET POS.OPERMANAGERCVID = (MCONCAT.OPERMANAGERCVID)
WHERE (POS.sPARENTPOS)= '" & session("ParentAndCode") & "'

Merci d'avance pour votre aide. Bi

8 réponses

Avatar
Daniel Corréia
UPDATE MaxAllDate SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID
FROM MaxAllDate , MConcat , POS
WHERE POS.sPARENTPOS = MConcat.CONCAT
AND MaxAllDate.CVID = POS.CVID
AND MaxAllDate.MaxDeENTD = POS.ENTD
AND (POS.sPARENTPOS)= '" & session("ParentAndCode")

devrait fonctionner...(à tester)

"Spectre" a écrit dans le message de news:

Bonjour,
J'ai une application fonctionnant sous access et sqlserver.

La requête suivante fonctionne sans pb sous access mais une erreur de
syntaxe est signalée sous sqlserver ligne 2 ( "Syntaxe incorrecte vers le
mot clé 'INNER'.")
Je n'arrive pas à m'en dépétrer. Toute aide serait la bienvenue!
Pour info :

MaxAllDate est une table
Pos est une table
Mconcat est une requête.


UPDATE MaxAllDate
INNER JOIN
(POS INNER JOIN MConcat ON POS.sPARENTPOS = MConcat.CONCAT)
ON (MaxAllDate.CVID = POS.CVID)
AND (MaxAllDate.MaxDeENTD = POS.ENTD)
SET POS.OPERMANAGERCVID = (MCONCAT.OPERMANAGERCVID)
WHERE (POS.sPARENTPOS)= '" & session("ParentAndCode") & "'

Merci d'avance pour votre aide. Bi





Avatar
Fred BROUARD
Plus exactement :

UPDATE MaxAllDate
SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


Spectre a écrit:
Bonjour,
J'ai une application fonctionnant sous access et sqlserver.

La requête suivante fonctionne sans pb sous access mais une erreur de
syntaxe est signalée sous sqlserver ligne 2 ( "Syntaxe incorrecte vers le
mot clé 'INNER'.")
Je n'arrive pas à m'en dépétrer. Toute aide serait la bienvenue!
Pour info :

MaxAllDate est une table
Pos est une table
Mconcat est une requête.


UPDATE MaxAllDate
INNER JOIN
(POS INNER JOIN MConcat ON POS.sPARENTPOS = MConcat.CONCAT)
ON (MaxAllDate.CVID = POS.CVID)
AND (MaxAllDate.MaxDeENTD = POS.ENTD)
SET POS.OPERMANAGERCVID = (MCONCAT.OPERMANAGERCVID)
WHERE (POS.sPARENTPOS)= '" & session("ParentAndCode") & "'

Merci d'avance pour votre aide. Bi





Avatar
Fred BROUARD
correction (mineure)

UPDATE MaxAllDate
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...


Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!

A +


Fred BROUARD a écrit:
Plus exactement :

UPDATE MaxAllDate
SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Spectre
Merci tout d'abord.

J'ai essayé les différentes formules pour le premier post mais,
malheureusement sans succès.
J'ai essayé quelques modifs, mais ... en tout cas, ça ma appris des choses.


Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!



eh, pas de chance, c'est bien POS que je dois mettre à jour.

Merci d'avance pour la suite du feuilleton.

Bi



"Fred BROUARD" a écrit dans le message de news:

correction (mineure)

UPDATE MaxAllDate
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...


Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!

A +


Fred BROUARD a écrit:
Plus exactement :

UPDATE MaxAllDate
SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Avatar
Fred BROUARD
Alors :

UPDATE POS
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
FROM POS
INNER JOIN MaxAllDate MAD
ON POS.sPARENTPOS = MCT.CONCAT
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
WHERE POS.sPARENTPOS = ...

A +

Spectre a écrit:
Merci tout d'abord.

J'ai essayé les différentes formules pour le premier post mais,
malheureusement sans succès.
J'ai essayé quelques modifs, mais ... en tout cas, ça ma appris des choses.



Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!




eh, pas de chance, c'est bien POS que je dois mettre à jour.

Merci d'avance pour la suite du feuilleton.

Bi



"Fred BROUARD" a écrit dans le message de news:


correction (mineure)

UPDATE MaxAllDate
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...


Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!

A +


Fred BROUARD a écrit:

Plus exactement :

UPDATE MaxAllDate
SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************









--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Spectre
Bon , c'est encore moi... désolé...

La syntaxe est analysée comme bonne mais j'ai le message suivant :
" Le préfixe de colonne 'MCT' ne correspond ni au nom de table ni au nom
d'alias utilisés dans la requête."

Pour repréciser les choses :

- MConcat est une requête sélection, exécutée sur une table (la requête a
pour but de concaténer deux champs de cette table).
La requête comprend 2 champs:
- CONCAT
- OPERMANAGERCVID ;Ce champs servira à mettre à jour le champs
OPERMANAGERCVID de la table POS

- MaxAllDate est une table commportant deux champs
- MaxDeENTD (champs date)
- CVID

- POS est une table avec 4 champs qui nous intéresse
- CVID
- ENTD (champs date)
- sPARENTPOS
- OPERMANAGERCVID (champs unique à mettre à jour)

Les relations entre le tables sont les suivante

- jointure inner entre MaxAllDate.MaxDeENTD et POS.ENTD
- jointure inner entre MaxAllDate.CVID et POS.CVID

- jointure inner entre POS.sPARENTPOS et Mconcat.CONCAT


Merci

"Fred BROUARD" a écrit dans le message de news:
%
Alors :

UPDATE POS
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
FROM POS
INNER JOIN MaxAllDate MAD
ON POS.sPARENTPOS = MCT.CONCAT
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
WHERE POS.sPARENTPOS = ...

A +

Spectre a écrit:
Merci tout d'abord.

J'ai essayé les différentes formules pour le premier post mais,
malheureusement sans succès.
J'ai essayé quelques modifs, mais ... en tout cas, ça ma appris des
choses.



Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!




eh, pas de chance, c'est bien POS que je dois mettre à jour.

Merci d'avance pour la suite du feuilleton.

Bi



"Fred BROUARD" a écrit dans le message de
news:

correction (mineure)

UPDATE MaxAllDate
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...


Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!

A +


Fred BROUARD a écrit:

Plus exactement :

UPDATE MaxAllDate
SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID
FROM MaxAllDate MAD
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************









--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Avatar
Fred BROUARD
une erreur de ma part :

UPDATE POS
SET OPERMANAGERCVID = MAD.OPERMANAGERCVID
FROM POS
INNER JOIN MaxAllDate MAD
ON POS.sPARENTPOS = MAD.CONCAT
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
WHERE POS.sPARENTPOS = ...

A +

Spectre a écrit:
Bon , c'est encore moi... désolé...

La syntaxe est analysée comme bonne mais j'ai le message suivant :
" Le préfixe de colonne 'MCT' ne correspond ni au nom de table ni au nom
d'alias utilisés dans la requête."

Pour repréciser les choses :

- MConcat est une requête sélection, exécutée sur une table (la requête a
pour but de concaténer deux champs de cette table).
La requête comprend 2 champs:
- CONCAT
- OPERMANAGERCVID ;Ce champs servira à mettre à jour le champs
OPERMANAGERCVID de la table POS

- MaxAllDate est une table commportant deux champs
- MaxDeENTD (champs date)
- CVID

- POS est une table avec 4 champs qui nous intéresse
- CVID
- ENTD (champs date)
- sPARENTPOS
- OPERMANAGERCVID (champs unique à mettre à jour)

Les relations entre le tables sont les suivante

- jointure inner entre MaxAllDate.MaxDeENTD et POS.ENTD
- jointure inner entre MaxAllDate.CVID et POS.CVID

- jointure inner entre POS.sPARENTPOS et Mconcat.CONCAT


Merci

"Fred BROUARD" a écrit dans le message de news:
%

Alors :

UPDATE POS
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
FROM POS
INNER JOIN MaxAllDate MAD
ON POS.sPARENTPOS = MCT.CONCAT
INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
WHERE POS.sPARENTPOS = ...

A +

Spectre a écrit:

Merci tout d'abord.

J'ai essayé les différentes formules pour le premier post mais,
malheureusement sans succès.
J'ai essayé quelques modifs, mais ... en tout cas, ça ma appris des
choses.




Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!




eh, pas de chance, c'est bien POS que je dois mettre à jour.

Merci d'avance pour la suite du feuilleton.

Bi



"Fred BROUARD" a écrit dans le message de
news:


correction (mineure)

UPDATE MaxAllDate
SET OPERMANAGERCVID = MCT.OPERMANAGERCVID



FROM MaxAllDate MAD



INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...


Es espérant que vous essayez de mettre à jour MaxAllDate et non POS !!!

A +


Fred BROUARD a écrit:


Plus exactement :

UPDATE MaxAllDate
SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID



FROM MaxAllDate MAD



INNER JOIN MConcat MCT
ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
INNER JOIN POS
ON POS.sPARENTPOS = MCT.CONCAT
WHERE POS.sPARENTPOS = ...

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************








--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************









--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Fred BROUARD
la table cible d'un UPDATE, DELET ou INSERT ne doit JAMAIS être aliassé !
donc SET PS.xxx = est faux
quand à SET POS.xxx = c'est bon mais stupide .

Une écriture plus logique est :

UPDATE POS
SET OPERMANAGERCVID = ADM.OPERMANAGERCVID
FROM POS PS
INNER JOIN MaxAllDate MAD
ON MAD.CVID = PS.CVID
AND MAD.MaxDeENTD = PS.ENTD
INNER JOIN ADMUO ADM
ON PS.sPARENTPOS = (ADM.sparent +'_'+ADM.scode)

A +


> UPDATE POS
> SET POS.OPERMANAGERCVID = ADM.OPERMANAGERCVID
> FROM POS *PS
> * INNER JOIN MaxAllDate MAD
> ON MAD.CVID = ps.CVID
> AND MAD.MaxDeENTD = ps.ENTD
> INNER JOIN ADMUO ADM
> ON *PS*.sPARENTPOS = (ADM.sparent +'_'+ADM.scode)

la table cible d'un UPDATE, DELET ou INSERT ne doit JAMAIS être aliassé !
dont SET


Spectre a écrit:
Merci pour tout, ça marche après deux modification :

- dans la clause update POS set .... FROM POS, j'ai rajouté un alias
après POS (après lecture sur des forum)
- j'ai "inversé" les clauses contenues dans les deux jointures

(Pour me passer de la requête servant à concatener, j'ai concaténé
directement dans la table ADMUO)

Ca donne

UPDATE POS
SET POS.OPERMANAGERCVID = ADM.OPERMANAGERCVID
FROM POS *PS
* INNER JOIN MaxAllDate MAD
ON MAD.CVID = ps.CVID
AND MAD.MaxDeENTD = ps.ENTD
INNER JOIN ADMUO ADM
ON *PS*.sPARENTPOS = (ADM.sparent +'_'+ADM.scode)


Dans tous les cas, merci devotre patience. Bi

"Fred BROUARD"
<mailto: a écrit dans le message de news:

<mailto:...
> une erreur de ma part :
>
> UPDATE POS
> SET OPERMANAGERCVID = MAD.OPERMANAGERCVID
> FROM POS
> INNER JOIN MaxAllDate MAD
> ON POS.sPARENTPOS = MAD.CONCAT
> INNER JOIN MConcat MCT
> ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
> WHERE POS.sPARENTPOS = ...
>
> A +
>
> Spectre a écrit:
>> Bon , c'est encore moi... désolé...
>>
>> La syntaxe est analysée comme bonne mais j'ai le message suivant :
>> " Le préfixe de colonne 'MCT' ne correspond ni au nom de table ni au
nom
>> d'alias utilisés dans la requête."
>>
>> Pour repréciser les choses :
>>
>> - MConcat est une requête sélection, exécutée sur une table (la
requête a
>> pour but de concaténer deux champs de cette table).
>> La requête comprend 2 champs:
>> - CONCAT
>> - OPERMANAGERCVID ;Ce champs servira à mettre à jour le champs
>> OPERMANAGERCVID de la table POS
>>
>> - MaxAllDate est une table commportant deux champs
>> - MaxDeENTD (champs date)
>> - CVID
>>
>> - POS est une table avec 4 champs qui nous intéresse
>> - CVID
>> - ENTD (champs date)
>> - sPARENTPOS
>> - OPERMANAGERCVID (champs unique à mettre à jour)
>>
>> Les relations entre le tables sont les suivante
>>
>> - jointure inner entre MaxAllDate.MaxDeENTD et POS.ENTD
>> - jointure inner entre MaxAllDate.CVID et POS.CVID
>>
>> - jointure inner entre POS.sPARENTPOS et Mconcat.CONCAT
>>
>>
>> Merci
>>
>> "Fred BROUARD"
<mailto: a écrit dans le message de news:
>> %
<mailto:%...
>>
>>>Alors :
>>>
>>>UPDATE POS
>>>SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
>>>FROM POS
>>> INNER JOIN MaxAllDate MAD
>>> ON POS.sPARENTPOS = MCT.CONCAT
>>> INNER JOIN MConcat MCT
>>> ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
>>>WHERE POS.sPARENTPOS = ...
>>>
>>>A +
>>>
>>>Spectre a écrit:
>>>
>>>>Merci tout d'abord.
>>>>
>>>>J'ai essayé les différentes formules pour le premier post mais,
>>>>malheureusement sans succès.
>>>>J'ai essayé quelques modifs, mais ... en tout cas, ça ma appris des
>>>>choses.
>>>>
>>>>
>>>>
>>>>
>>>>>Es espérant que vous essayez de mettre à jour MaxAllDate et non
POS !!!
>>>>
>>>>
>>>>eh, pas de chance, c'est bien POS que je dois mettre à jour.
>>>>
>>>>Merci d'avance pour la suite du feuilleton.
>>>>
>>>>Bi
>>>>
>>>>
>>>>
>>>>"Fred BROUARD"
<mailto: a écrit dans le message de
>>>>news:
<mailto:...
>>>>
>>>>
>>>>>correction (mineure)
>>>>>
>>>>>UPDATE MaxAllDate
>>>>>SET OPERMANAGERCVID = MCT.OPERMANAGERCVID
>>>>
>>>>>FROM MaxAllDate MAD
>>>>
>>>>> INNER JOIN MConcat MCT
>>>>> ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
>>>>> INNER JOIN POS
>>>>> ON POS.sPARENTPOS = MCT.CONCAT
>>>>>WHERE POS.sPARENTPOS = ...
>>>>>
>>>>>
>>>>>Es espérant que vous essayez de mettre à jour MaxAllDate et non
POS !!!
>>>>>
>>>>>A +
>>>>>
>>>>>
>>>>>Fred BROUARD a écrit:
>>>>>
>>>>>
>>>>>>Plus exactement :
>>>>>>
>>>>>>UPDATE MaxAllDate
>>>>>>SET POS.OPERMANAGERCVID = MCONCAT.OPERMANAGERCVID
>>>>>
>>>>>>FROM MaxAllDate MAD
>>>>>
>>>>>> INNER JOIN MConcat MCT
>>>>>> ON MAD.CVID = POS.CVID AND MAD.MaxDeENTD = POS.ENTD
>>>>>> INNER JOIN POS
>>>>>> ON POS.sPARENTPOS = MCT.CONCAT
>>>>>>WHERE POS.sPARENTPOS = ...
>>>>>>
>>>>>>A +
>>>>>>
>>>>>
>>>>>--
>>>>>Frédéric BROUARD, MVP SQL Server, expert bases de données et
langage SQL
>>>>>Le site sur le langage SQL et les SGBDR :
http://sqlpro.developpez.com
>>>>>Audit, conseil, expertise, formation, modélisation, tuning,
optimisation
>>>>>********************* http://www.datasapiens.com
***********************
>>>>>
>>>>
>>>>
>>>>
>>>--
>>>Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
>>>Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
>>>Audit, conseil, expertise, formation, modélisation, tuning, optimisation
>>>********************* http://www.datasapiens.com ***********************
>>>
>>
>>
>>
>
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
> ********************* http://www.datasapiens.com ***********************
>



--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************