Pull to refresh

Comments 4

При формировании отчетов зачастую пользуюсь динамическим формированием списка столбцов при использовании PIVOT
О, я динамику люблю, и активно пользовался ей не только в целях обслуживания БД, а вовсю и в настраиваемой основной бизнес-логике — например, в одной из систем, автоматизирующей весь процесс научно-исследовательского центра, динамикой задавались чекпоинты и действия для их проверки над сущностями в базе — при этом в соответствующей таблице было что-то типа:

CREATE TABLE CheckPoint (ID INT, EntityID INT, CheckpointName VARCHAR(50), SQLCheckStatement VARCHAR(8000))


В итоге, чтобы проверить экземпляры некой сущности на соответствие чеклисту, достаточно было выбрать и динамически выполнить соответствующие статементы из таблицы сразу для всех экземпляров этой сущности, что и делалось в соответствующей процедуре. Нужно поменять или добавить еще один пункт проверки — пожалуйста — редактируйте соответствующую строку (это если не говорить о потенциальной опасности SQLInj — однако, это была intranet-система — там менее критично)

Жаль только, что массовое внедрение ORM, в частности, в майкрософтовском исполнении убивает на корню в том числе и идею использования динамики — равно как и добрую половину других возможностей БД, используя которые можно было бы эффективно обработать данные прямо в базе, вместо того, чтобы превращать ее в олигофренский CRUD-придаток «мудрого» слоя приложения, который только и может, что стрелять тысячами запросов там, где при правильном подходе хватило бы и десятка.
Спасибо, между прочим, за ссылку на dbForge — инструмент интересный.
Sign up to leave a comment.

Articles