OVH Cloud OVH Cloud

HExecutreRequeteSQL et SELECT TOP sur MYSQL

6 réponses
Avatar
I.G.LOG
Ci-apres le code d'une requete SQL sur MySQL 4.0.20c

lTxtSql = "select top 1 DESIGNATION,S3CLEUNIK" +...
" from SOCDEP" +...
" where (NUMDEP = 1 and NUMSOC = 1)"
SI hExecuteRequeteSQL(lVue,lTxtSql) ALORS

renvoi une erreur MySQL 1064: you have a error in SQL syntax. Sans le "top
1" c'est OK.

Est-ce que MySQL 4.0.20c ne supporte pas le SELECT TOP x ????

Merci

6 réponses

Avatar
Firetox
Bonjour,

non en MySQL c'est SELECT ........... LIMIT 1
mais pas de TOP

Bon dev
@+

"I.G.LOG" a écrit dans le message de news:
cbu3ag$pfm$
Ci-apres le code d'une requete SQL sur MySQL 4.0.20c

lTxtSql = "select top 1 DESIGNATION,S3CLEUNIK" +...
" from SOCDEP" +...
" where (NUMDEP = 1 and NUMSOC = 1)"
SI hExecuteRequeteSQL(lVue,lTxtSql) ALORS

renvoi une erreur MySQL 1064: you have a error in SQL syntax. Sans le "top
1" c'est OK.

Est-ce que MySQL 4.0.20c ne supporte pas le SELECT TOP x ????

Merci




Avatar
Manu
I.G.LOG wrote:
Ci-apres le code d'une requete SQL sur MySQL 4.0.20c

lTxtSql = "select top 1 DESIGNATION,S3CLEUNIK" +...
" from SOCDEP" +...
" where (NUMDEP = 1 and NUMSOC = 1)"
SI hExecuteRequeteSQL(lVue,lTxtSql) ALORS

renvoi une erreur MySQL 1064: you have a error in SQL syntax. Sans le
"top 1" c'est OK.

Est-ce que MySQL 4.0.20c ne supporte pas le SELECT TOP x ????



Non mais il accepte les limit.

lTxtSql = "select DESIGNATION,S3CLEUNIK" +...
" from SOCDEP" +...
" where (NUMDEP = 1 and NUMSOC = 1) limit 1"

devrait fonctionner
Avatar
Roumegou
I.G.LOG a présenté l'énoncé suivant :
Ci-apres le code d'une requete SQL sur MySQL 4.0.20c

lTxtSql = "select top 1 DESIGNATION,S3CLEUNIK" +...
" from SOCDEP" +...
" where (NUMDEP = 1 and NUMSOC = 1)"
SI hExecuteRequeteSQL(lVue,lTxtSql) ALORS

renvoi une erreur MySQL 1064: you have a error in SQL syntax. Sans le "top
1" c'est OK.

Est-ce que MySQL 4.0.20c ne supporte pas le SELECT TOP x ????

Merci



et en Oracle, là c'est plus ch.. car c'est incompréhensible que cette
précieuse instruction n'existe pas !!
sinon c'est :

SELECT DESIGNATION,S3CLEUNIK FROM (SELECT DESIGNATION,S3CLEUNIK FROM
SOCDEP where NUMDEP = 1 and NUMSOC = 1)
where rownum=1

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumegou
I.G.LOG avait écrit le 30/06/2004 :
Merci mais ca marche avec sqlexec mais pas avec hexecuterequetesql !
SQLExec(lTxt) ---> ok
HExecuteRequeteSQL(lReq,lTxt) ----> erreur MySQL



C'est peut être normal car le HexecuteRequeteSQL ne fonctionnerait
qu'avec du code SQL standard.
d'où l'intérêt de rester avec le sqlexec.

Je transmet au ST.






--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
I.G.LOG
Merci mais ca marche avec sqlexec mais pas avec hexecuterequetesql !
SQLExec(lTxt) ---> ok
HExecuteRequeteSQL(lReq,lTxt) ----> erreur MySQL
Je transmet au ST.



"Firetox" a écrit dans le message de
news:cbu3qu$8o6$
Bonjour,

non en MySQL c'est SELECT ........... LIMIT 1
mais pas de TOP

Bon dev
@+

"I.G.LOG" a écrit dans le message de news:
cbu3ag$pfm$
> Ci-apres le code d'une requete SQL sur MySQL 4.0.20c
>
> lTxtSql = "select top 1 DESIGNATION,S3CLEUNIK" +...
> " from SOCDEP" +...
> " where (NUMDEP = 1 and NUMSOC = 1)"
> SI hExecuteRequeteSQL(lVue,lTxtSql) ALORS
>
> renvoi une erreur MySQL 1064: you have a error in SQL syntax. Sans le


"top
> 1" c'est OK.
>
> Est-ce que MySQL 4.0.20c ne supporte pas le SELECT TOP x ????
>
> Merci
>
>




Avatar
JBT
Le 30/06/2004, I.G.LOG a supposé :
Merci mais ca marche avec sqlexec mais pas avec hexecuterequetesql !
SQLExec(lTxt) ---> ok
HExecuteRequeteSQL(lReq,lTxt) ----> erreur MySQL
Je transmet au ST.





Attention, sqlexec est équivalente à hexecuterequetesql à condition que
tu utilises le paramètre hrequetesanscorrection.

--