Comment sélectionner un jeu de résultats vide?

Je suis à l'aide d'une procédure stockée dans le serveur MySQL, avec une instruction case.

Dans la clause ELSE de l'AFFAIRE ( l'équivalent de défaut: ) je veux choisir et retourne un jeu de résultats vide, évitant ainsi de jeter une erreur SQL par ne gère pas le cas d'AUTRE, et, au lieu de retourner un jeu de résultats vide, comme si une requête régulière aurait renvoyé aucune ligne.

Jusqu'à présent, j'ai réussi à le faire en utilisant quelque chose comme:

Select NULL From users Where False

Mais j'ai le nom d'une table existante, comme les "utilisateurs" dans cet exemple.
Il fonctionne, mais je préfère une façon plus élégante qui ne se casse pas si finalement le nom de la table utilisée est renommé ou supprimé.

J'ai essayé Select NULL Where False mais ça ne fonctionne pas.

À l'aide de Select NULL ne renvoie pas un ensemble vide, mais une ligne avec une colonne nommée NULLE et avec une valeur NULLE.

  • Il serait étrange de schéma, en effet, qui n'avait pas un seul tableau, vous pouvez garantir d'exister!
  • Vous avez raison. Il y a beaucoup de tables qui existent, le problème est que une fois que vous choisissez une table, si dans l'avenir, que le tableau est supprimé ou renommé, le code que vous avez écrit ne fonctionne plus, et vous serait le couplage de deux morceaux de logiciels qui n'ont rien à voir les uns avec les autres et pourtant, un changement dans l'un fait l'autre en arrêt de travail. C'est le couplage et d'attelage dans le logiciel est généralement une mauvaise idée.
  • Retour dans les jours, lorsque je l'ai utilisé Access/Jet, mon schéma de comprendre un permanent de la table auxiliaire pour cet effet nommé "RowRowTable'.
InformationsquelleAutor Petruza | 2009-09-21