Plus tôt j'avais posé la question:Le schéma doit-il toujours être explicitement défini dans l'instruction SQL?
Where (or how) should I define the schema in a select statement when using PostgreSQL?
La réponse que j'accepté était de modifier le search_path pour l'utilisateur de connexion de telle sorte que le schéma ne doit pas être spécifié dans le SQL. Cependant, maintenant, je me demande si je devrais toujours spécifier le schéma en SQL plutôt que de permettre au schéma d'être déduit automatiquement par le chemin de recherche. Cela semble être une approche plus sûre et plus portable dans d'autres bases de données.
Cette question est différente de la précédente en ce sens que je veux savoir quelles sont les meilleures pratiques pour définir le schéma en SQL, plutôt que comment cela peut être fait.
Le schéma doit-il toujours être explicitement défini dans l'instruction SQL? ** Note: Je ne coderais pas le nom du schéma mais je le permettrais d'être configurable via le fichier Web.config afin que le schéma puisse changer d'une installation à l'autre. **
Je devrais probablement clarifier. Je ne coderais pas réellement le schéma mais je le laisserais plutôt être configurable via un paramètre Web.config. Dans ce cas, serait-il plus approprié d'inclure le schéma dans le SQL? –
Pouvez-vous élaborer plus sur pourquoi l'un est recommandé sur l'autre? Je sais que dans le deuxième exemple, search_path est défini uniquement pour cette session, mais je ne comprends pas pourquoi c'est un avantage par rapport au premier exemple. –
C'est plus facile d'écrire; il est plus facile de déboguer; il est plus facile de stocker les requêtes elles-mêmes en tant que ressources; vous n'avez pas à ajouter ConfigurationManager.AppSettings.Get ("schéma") à chaque table dans une jointure. – Quassnoi