|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
Bonjour,
peut on désactiver la sensibilité à la casse des requêtes? Par exemple: Ne fonctionnera pas si le champ est "Id" dans la base de donnée. Or on m'a donné une base ou les champs sont écrit aléatoirement avec des majuscules ou sans ... c'est énervant. |
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Essaie en mettant des guillements autour des noms de champs et tables, mais ça risque vite de devenir très lourd
Sinon, renomme tous les champs et/ou tables impactées pour conserver une norme que tu respecteras : tout en minuscules ou tout en majuscules
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
Exact, c'est très lourd et c'est ce que je voulais éviter.
Si il n'y a vraiment pas d'autres moyens, je renommerais mais je voulais aussi éviter ça car j'ai deux tables de 158 colonnes, et c'est également lourd de les renommer toutes les deux manuellement. |
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Tu peux générer dynamiquement les commandes sql à lancer
Suffit de faire une requête qui parcourt la vue du dictionnaire listant les colonnes, un truc du genre SELECT 'alter table '||nomschema||'.'||nomtable||' rename '||nomcolonne||' to '||lower(nomcolonne)||';' from vue_pour_colonnes where nomcolonne <> lower (nomcolonne) Comme ça tu obtiens le script à lancer En tous les cas, avoir une base avec tous les noms d'objets (tables, colonnes, indexes, ...) en minuscules (ou tout en majuscules) est la solution la plus propre, plutôt que d'aller mettre des guillemets partout
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
Ca fait un peu boulet mais je n'ai pas compris comment fonctionne la requête, est ce que tu peux expliquer ?
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Quelle version de Postgresql as-tu ?
Si dans la vue pg_attribute, les noms de colonnes sont bien en majuscules et/ou minuscules selon les cas, essaie un truc du genre Code :
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
||
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
Merci, ça fonctionne super.
![]()
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Par curiosité, quelle version de Postgres utilises-tu ?
Car moi j'ai une 8.2 et tout est mis en minuscules dans les vues même si j'ai créé la table en majuscules
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
J'utilise la version 8.2, mais si les noms de champs sont en majuscule c'est probablement par ce que je les ai récupéré d'une table MS access qu'un collègue à fait via un connecteur ODBC. Enfin c'est une hypothèse.
Sinon les noms de champs ont également quelquesfois des espaces, tu pense qu'il faut que je les enlève pour les remplacer par des underscore '_' ? |
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
C'est peut-être lié à l'ODBC, mais bon c'est bizarre quand-même comme comportement
Sinon oui je te conseille de remplacer les espaces par des '_' sinon tu risques encore de devoir mettre des guillemets autour des noms de champs
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
Tu n'aurais pas une petite requête magique pour moi dans le même genre pour remplacer les espaces ?
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Allez je suis dans un bon jour
![]() Essaie ceci : Code :
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
||
|
|
00
|
|
|
#13 | ||
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
Oui la syntaxe avec les guillemets fonctionne. Pour le critère de restriction, il faut qu'il soit différent de 0 car 0 = y'en a pas (Je dis ca pour les futurs intéréssés).
Code :
|
||
|
00
|
|
|
#14 | |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Citation:
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : mai 2007 Messages : 149 ![]() |
Lol, bien joué.
|
|
00
|
Copyright © 2000-2012 - www.developpez.com