powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Редактировать много процедур
9 сообщений из 9, страница 1 из 1
Редактировать много процедур
    #39827368
Фотография Badger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

На базе данных почти семь тысяч хранимых процедур.
Мне нужно исправить 1280. Можно ли открыть для редактирования сразу много процедур, если я пользуюсь SQL Server Management Studio 15?


Поставил я себе еще DBArtisan 17.0.3 но в нем можно выделять несколько процедур кликом с зажатым Ctrl, и потом для всех сделать Extract! Супер! Но это тоже не просто, в глазах уже рябит, т.к. можно кликнуть не по той процедуре, т.к. имена процедур бывают очень похожи. А при скроле можно сбить уже выделенные.

Список процедур очень разношерстный. Поэтому я ищу способ как то устанавливать фильтр и сделать Extract для всех только моих процедур, из моего списка?

Поиск по внутреннему коду процедуры не предлагать, т.к. нужный код встречается и в других процедурах, (не из моего списка).
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827372
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1280 процедур редактировать руками? O_o
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827382
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Badger,
Можно завести дополнительную схему (Например назвать ее [test] ) и скопировать нужные объекты туда.
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827400
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Badger Мне нужно исправить 1280.
если речь идет только об изменении названия объектов, то может проще использовать алиасы?
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827402
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Badger,

Я так понимаю, речь идет о таком сценарии:
1) Получить скрипты процедур
2) Сделать определенные замены по шаблону
3) Убедиться, что все работает

Возможно вам следует снять скрипт всех процедур в БД и сделать поиск и замену. (right click на БД -> tasks -> Generate Scripts )

Затем накатить то, что получилось.

При этом вы должны понимать, как вы это все будете проверять.
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827404
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008Badger Мне нужно исправить 1280.
если речь идет только об изменении названия объектов, то может проще использовать алиасы?

Если речь идет только об переименовании объекта, то sp_rename + динамический sql решат все проблемы.


Я подозреваю, что нужно подправить часть стандартного шаблона.


Badger, если это так, то с таким количеством объектов посмотрите в сторону каких-нибудь regex-ов
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827408
Фотография Badger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iiyama, спасибо, ваша идея сработала....

CREATE SCHEMA [Temp] AUTHORIZATION dbo
GO
ALTER SCHEMA [Temp] TRANSFER [dbo].[spMyProc1];
ALTER SCHEMA [Temp] TRANSFER [dbo].[spMyProc2];
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827417
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Badger,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT DISTINCT
       o.name AS Object_Name,
       o.type_desc, definition
  FROM sys.sql_modules m
       INNER JOIN
       sys.objects o
         ON m.object_id = o.object_id
 --WHERE m.definition Like '%[ABD]%';
...
Рейтинг: 0 / 0
Редактировать много процедур
    #39827619
Фотография Badger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008если речь идет только об изменении названия объектов, то может проще использовать алиасы?Нет речь шла не о переименования объектов, а об однотипном изменение SQL текста внутри процедур. Я понимал, что сделать это можно при помощи DBArtisan который позволяет извлечь любое количество процедур в один текстовый файл для редактирования и дальнейшей компиляции всех измененных процедур разом. Проблема заключалась в том, что нужный список процедур очень разношерстный и большой. И открывать каждую процедуру для изменения по меньшей степени не эффективно, и заняло бы кучу времени. Идея создать для списка процедур отдельную схему, и отфильтровать по этой схеме, мне в голову не приходила. И большое спасибо за идею iiyamaBadger,
Можно завести дополнительную схему (Например назвать ее [test] ) и скопировать нужные объекты туда.
Код: sql
1.
2.
3.
4.
CREATE SCHEMA [Temp] AUTHORIZATION dbo
GO
ALTER SCHEMA [Temp] TRANSFER [dbo].[spMyProc1];
ALTER SCHEMA [Temp] TRANSFER [dbo].[spMyProc2];

что и было сделано и на данный момент задача выполнена. Всем большое спасибо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Редактировать много процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]