2010-03-25 6 views
2

Je ne trouvais rien à ce sujet dans la documentation de MySQL.Que signifient les marques "at" (@) dans cette requête SQL?

SELECT accesion_id, 
     definition 
    FROM accesion_table 
WHERE search_word @@ ? OFFSET ? LIMIT Const.MAX_DISP_COUNT; 
+0

Sons propres au cadre. Lequel est utilisé? –

+2

Le seul SQL que je connais qui utilise '@@' est T-SQL, utilisé dans SQL Server et Informix mais il n'y a pas de texte immédiatement après pour une commande réelle (IE: '@@ ROWCOUNT'). Le '?' Ressemble à une instruction préparée MySQL est utilisé; c'est un espace réservé pour une variable de liaison. Mais le décalage est au mauvais endroit - il devrait venir après LIMIT, pas avant. –

Répondre

0

Avec Oracle, le '@@' pointe vers le répertoire en cours du fichier en cours d'exécution. Se pourrait-il que MySQL soit en train de suivre Oracles?

1

Très probablement le code qui exécute cette instruction SQL a un certain analyseur qui est la manipulation de cette syntaxe bizarre, puisque le la @@,? et Const.MAX_DISPLAY_COUNT ne font pas partie de MySQL. Le mot-clé OFFSET doit également être placé après le mot-clé LIMIT.

+0

Je suis désolé, c'est postgre sql –

Questions connexes