Ранее я задал вопрос:Следует ли явно указывать схему в инструкции SQL?
Where (or how) should I define the schema in a select statement when using PostgreSQL?
Ответ, который я принял был изменить search_path для подключающегося пользователя, так что схема не должна быть указана в SQL. Однако теперь я задаюсь вопросом, следует ли всегда указывать схему в SQL, а не разрешать автоматическую вывод схемы по пути поиска. Похоже, что это будет более безопасный подход и будет более переносимым для других баз данных.
Этот вопрос отличается от предыдущего в том, что я хочу знать, какие рекомендации используются для определения схемы в SQL, а не как это можно сделать.
Следует ли явно указывать схему в инструкции SQL?
** Примечание. Я бы не стал жестко кодировать имя схемы, но разрешил бы ее настраивать через файл Web.config, чтобы схема могла меняться с одной установки на другую. **
Возможно, я должен уточнить. Я бы не стал на самом деле жестко закодировать схему, но вместо этого разрешил бы ее настраивать с помощью настройки Web.config. В этом случае было бы более целесообразным включить схему в SQL? –
Можете ли вы подробнее рассказать о том, почему один рекомендуется по другому? Я знаю, что во втором примере путь search_path установлен только для этого сеанса, но я не понимаю, почему это преимущество перед первым примером. –
Легче писать; его легче отлаживать; легче хранить запросы как ресурсы; вам не нужно добавлять ConfigurationManager.AppSettings.Get («схема») к каждой таблице в соединении. – Quassnoi