Poser votre question
0

Erreur dans déclaration de variable dans requête SQL

posée 2019-10-16 15:22:06 +0100

Image Gravatar de Belaim

Bonjour, Débutant sur LibreOffice, je rencontre un problème dans Base pour la création de requête SQL. Impossible de déclarer une variable. J'ai essayé toutes les syntaxes possibles (SET variable, variable, set $variable, $variable, set variable$, même déclarations avec attribution de valeur "=1", ...) mais je me retrouve toujours face au même message d'erreur (voir ci dessous) Quelqu'un aurait-il la solution ? Merci par avance.

Fab

Erreur de syntaxe dans l'expression SQL

Statut SQL: HY000 Code d'erreur: 1000

Erreur de syntaxe dans l'expression SQL

Statut SQL: HY000 Code d'erreur: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE

éditer requalifier signaler fermer fusionner supprimer

Commentaires

Salut,

Veuillez indiquer votre version spécifique de LO et la base de données que vous utilisez (par exemple: Firebird embedded, HSQLDB embedded, etc.).

Avez-vous essayé :myParameter?

Image Gravatar de RatslingerRatslinger ( 2019-10-16 22:04:41 +0100 )éditer

Bonsoir J'avais la version 3.2.. J'ai fait la mise à jour vers 3.3.o mais le problème est toujours là. Pour ce qui est de la BDD c'est Firebird. Non je n'ai pas essayé :myParameter.... Que dois-je faire exactement ? Merci

Image Gravatar de BelaimBelaim ( 2019-10-17 00:56:46 +0100 )éditer

2Réponses

0

répondue 2019-10-17 01:19:22 +0100

Image Gravatar de Ratslinger

Salut,

Dans une condition WHERE, vous pouvez utiliser un ?.

Vous pouvez également utiliser : suivi du descripteur pour demander une entrée.

Exemples:

Select * from "TA TABLE" Where "VOTRE_FIELD" = ?

ou

Select * from "TA TABLE" Where "VOTRE_FIELD" = :monParamètre

J'espère que la traduction est OK

éditer signaler supprimer permalien plus

Commentaires

Oui j'arrive bien à faire des requêtes élémentaires. Mais impossible de déclarer une variable pour faire des requêtes personnalisées. Pour répondre à votre question, la première requête fonctionne (avec ?) mais pas la seconde (avec :) qui me renvoie le même message d'erreur

Image Gravatar de BelaimBelaim ( 2019-10-17 13:54:32 +0100 )éditer

En ce qui concerne le : cela peut être corrigé. C'est un bug -> tdf#117053

L'utilisation de paramètres dans une requête personnalisée est une procédure. Vous entrez ces par le menu Outils-> SQL. Documentation de référence Firebird pour la construction de la procédure.

Image Gravatar de RatslingerRatslinger ( 2019-10-17 18:40:30 +0100 )éditer

Merci pour votre réponse mais elle ne règle pas mon problème qui ne venait ni du "?" ni du ":". L'idée était simplement de pouvoir construire des requêtes en mode SQL. J'ai le même problème sur OpenOffice que je viens d'installer et qui n'utilise pas FireBird. Je vais donc devoir me tourner vers une autre solution... Merci pour votre aide ;-)

Image Gravatar de BelaimBelaim ( 2019-10-17 19:21:30 +0100 )éditer

Joignez à votre question initiale (lien éditer puis outil "trombone") le fichier en question. Ce sera plus simple et plus efficace pour trouver une erreur éventuelle.

Image Gravatar de ajlittozajlittoz ( 2019-10-17 23:16:15 +0100 )éditer

Si vous souhaitez simplement créer des requêtes, utilisez un outil tiers, tel que Workbench / J.

Prend en charge les connexions JDBC aux bases de données existantes.

Image Gravatar de RatslingerRatslinger ( 2019-10-17 23:30:51 +0100 )éditer
0

répondue 2019-10-19 13:24:07 +0100

Image Gravatar de pierre-yves samyn

Bonjour

Selon le besoin réel on peut parfois passer par la création de SEQUENCE (lien vers la documentation).

Voir un exemple d'utilisation à la fin de ce fil.

Cordialement

éditer signaler supprimer permalien plus
S'identifier/S'inscrire pour répondre

Outils de question

1 suiveurs

Stats

Posée: 2019-10-16 15:22:06 +0100

Consultée: 38 fois

Mise à jour: Oct 19