SQL SELECT * from tbl (MASQUER 1 COLONNE)
Je suis en train de faire SELECT * FROM tbl
, mais sur 20 colonnes je ne veux pas 1 colonne particulière pour être sélectionné. Est-il une dynamique de moyen pour le faire? Juste de la haine pour spécifier 19 colonnes dans la requête!
Seulement 19 ans? Ah bah. Sérieusement, faire une procédure stockée si c'est un problème pour vous. Ou ceci: stackoverflow.com/questions/9122/...
Voir stackoverflow.com/questions/729197/...
SQL dynamique n'est pas vraiment une réponse: le contrat et resultset peut changer aléatoirement dans la table de change.
N'est-ce pas ce genre de point?
Il se casse le code client assez souvent...
Voir stackoverflow.com/questions/729197/...
SQL dynamique n'est pas vraiment une réponse: le contrat et resultset peut changer aléatoirement dans la table de change.
N'est-ce pas ce genre de point?
Il se casse le code client assez souvent...
OriginalL'auteur eistrati | 2011-06-21
Vous devez vous connecter pour publier un commentaire.
Il suffit de spécifier les colonnes. Vous devriez être de faire tout le temps de toute façon que select * est un très mauvais choix de programmation. Je ne sais pas à propos de mysql mais dans SQL Server je peux faire glisser toutes les colonnes de l'explorateur d'objets et de supprimer ceux que je ne veux pas, il ne prend que quelques secondes. Peut-être l'interface que vous utilisez a une fonctionnalité similaire.
OriginalL'auteur HLGEM
Essayer. Comme il le dit, le SQL n'est pas assez.
Sélectionnez toutes les colonnes à l'exception de l'un dans MySQL?
OriginalL'auteur Josh
Bien vous (ou moi) pourrait passer un peu de temps à écrire du sql dynamique pour interroger les colonnes dans une table, la génération d'une instruction sql, moins la colonne que vous voulez ignorer, alors que l'exécution de sql dynamique.
Ou vous pouvez prendre une profonde respiration et le code pour le 19 colonnes.
Je sais que je devrais choisir. Je sais ce qui est plus facile à gérer et moins sujette aux erreurs.
OriginalL'auteur Ed Guiness
Intéressante question, mais la réponse directe est non, ce n'est pas possible. Toutefois, vous pouvez utiliser une vue ou d'une procédure stockée qui va vous permettre d'écrire le 19 colonnes une fois et puis il suffit d'appeler la procédure stockée ou d'une vue à l'aide d'un
SELECT * FROM view
ouexec storedproc
Le seul problème ici est que si vous ajoutez/supprimez/renommé une colonne de votre tableau, vous devrez mettre à jour votre objet (de vue ou d'une procédure stockée) pour refléter le nouveau/supprimé ou renommé de la colonne.
OriginalL'auteur IAmTimCorey
insded de star écrire la colonne requis, nom de Dans cette ,,
e.je est
OriginalL'auteur K6t
Je suis d'accord avec toutes les réponses ré. le mérite de le faire "select * from ..."
Toutefois, si vous vraiment voulait, on pourrait faire un "select *" dans une table temporaire, faire un "alter table" à la chute de la colonne(s) que vous ne voulez pas, et puis faire un "select *" de la table temporaire.
Encore... pas très agréable, car le point principal est que, si votre table de changement de la structure (et obtenir certains des colonnes supplémentaires), les consommateurs de vos données sélectionnées serait maintenant d'obtenir plus que ce qu'ils attendent. "Select *" est, dans la plupart des cas, simplement paresseux de codage.
OriginalL'auteur Black Light