Выполнение T-SQL-запроса с жесткого диска - PullRequest
0 голосов
/ 30 апреля 2018

У меня на жестком диске хранятся запросы T-SQL: I:\queries\query1.sql и I:\queries\query2.sql.

Я обычно работаю так, что выполняю запрос с диска, затем копирую результаты в Excel, а затем работаю над ним.

Моя проблема здесь в том, что query1.sql уже длинный, и теперь я хотел бы расширить его, получив результат query2.sql, и объединить его с результатом query1.sql.

Что я мог сделать, так это добавить код от query2.sql до query1.sql. Но тогда запрос становится действительно длинным и сложным для обслуживания.

Я хотел бы сделать что-то вроде этого:

SELECT * FROM ("Result of I:\queries\query1.sql") q1 
LEFT JOIN ("Result of I:\queries\query2.sql") q2 ON q1.ID=q2.ID

Есть ли способ написать запрос или хранимую процедуру, которая будет снова сохранена на диске для этого?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Чтобы расширить комментарий Гордона (+1), , почему вы запускаете сценарии с диска? Большинство администраторов баз данных, которых я знал, лечили бы это из-за того, что выполнение кода, которым они не могут управлять / устранять неполадки / видеть контроль исходного кода, приносит целый ряд проблем безопасности и поддержки.

Гораздо лучше хранить этот код в хранимой процедуре, которая будет иметь сохраненный план выполнения запроса, его можно отслеживать с использованием различных DMV и назначать ему разрешения, тогда ваш внешний документ Excel может просто установить соединение и выполнить SP.

0 голосов
/ 30 апреля 2018

По сути, вам нужно попросить вашего администратора базы данных о базе данных, когда вы способны хранить вещи в базе данных. Это может быть в той же системе, где хранятся данные. Или это может быть в связанной системе. Черт возьми, вы можете запустить SQL Server локально и хранить там информацию и данные.

Тогда запросы, которые вы храните в файлах, должны быть представлениями в базе данных. Затем вы можете запускать запросы, сохранять и комбинировать результаты локально.

Вы, по сути, воссоздаете функциональность базы данных, используя текстовые файлы и файлы данных, - прилагая немало усилий, когда SQL Server уже поддерживает эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...