Читал, перед тем как оставил комментарий. Юмор хорошо, если бы автор просто взял принципы SOLID и написал этот пост - нет проблем. Но, автор решил "хайпнуть" сославшись на книгу известного автора, не хорошо это.
Организация SQL запросов в виде отдельных файлов, позволяет хранить в них кроме самого запроса, еще и часть дополнительной информации. Например:
Файл: CustomerByPostCode.sql
<code>
[Desc]
Запрос для выбора данных таблицы Customers (покупатели) по почтовому коду из адреса покупателя.
[SQL]
SELECT * FROM Customers WHERE PostCode = %P1
[Example]
SELECT * FROM Customers WHERE PostCode = 100
[Test]
P1=100
</code>
Здесь, секция [Desc] содержит комментарий-описание самого запроса. Секция [SQL] собственно сам запрос для вызова в программе. В принципе, можно написать парзер, который из отдельных файлов будет генерировать ресурс-файл на этапе pre-build проекта, если уж так хочется иметь один файл с запросами. Секция [Example] - пример запуска запроса с конкретными параметрами, при открытии запроса в SQL-редакторе можно выделить код в этой секции и быстро запустить, посмотрев, как работает запрос. Секция [Test] для описания параметров запуска при тестировании запроса, например unit-test системами. Использование секций вместо комментариев к запросу, позволяет очень просто работать с файлом с помощью TStringList. И, как уже сказали, смотреть историю изменения кода в системе контроля версий в связке с системой отслеживания изменений гораздо проще в случае одного файла на запрос. Например, если хочется посмотреть в рамках каких задач менялся запрос CustomerByPostCode, то это гораздо проще сделать в случае одного файла.
Читал, перед тем как оставил комментарий. Юмор хорошо, если бы автор просто взял принципы SOLID и написал этот пост - нет проблем. Но, автор решил "хайпнуть" сославшись на книгу известного автора, не хорошо это.
Книга называется "Чистая архитектура", а фамилия автора - Мартин, а не Мартерт.
https://habr.com/ru/articles/464185/
Организация SQL запросов в виде отдельных файлов, позволяет хранить в них кроме самого запроса, еще и часть дополнительной информации. Например:
Файл: CustomerByPostCode.sql
<code>
[Desc]
Запрос для выбора данных таблицы Customers (покупатели) по почтовому коду из адреса покупателя.
[SQL]
SELECT * FROM Customers WHERE PostCode = %P1
[Example]
SELECT * FROM Customers WHERE PostCode = 100
[Test]
P1=100
</code>
Здесь, секция [Desc] содержит комментарий-описание самого запроса. Секция [SQL] собственно сам запрос для вызова в программе. В принципе, можно написать парзер, который из отдельных файлов будет генерировать ресурс-файл на этапе pre-build проекта, если уж так хочется иметь один файл с запросами. Секция [Example] - пример запуска запроса с конкретными параметрами, при открытии запроса в SQL-редакторе можно выделить код в этой секции и быстро запустить, посмотрев, как работает запрос. Секция [Test] для описания параметров запуска при тестировании запроса, например unit-test системами. Использование секций вместо комментариев к запросу, позволяет очень просто работать с файлом с помощью TStringList. И, как уже сказали, смотреть историю изменения кода в системе контроля версий в связке с системой отслеживания изменений гораздо проще в случае одного файла на запрос. Например, если хочется посмотреть в рамках каких задач менялся запрос CustomerByPostCode, то это гораздо проще сделать в случае одного файла.