powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замена имен таблиц в большом количестве вьюшек
18 сообщений из 18, страница 1 из 1
Замена имен таблиц в большом количестве вьюшек
    #40103289
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
есть база с именами таблиц зависящих от периода (например, dbo.Table_2021_Products, dbo.Table_2021_Customers). В этой же базе пара сотен вьюшек привязанных к этим названиям.
При переходе в новый период программа создает таблицы для нового периода (например, dbo.Table_2022_Products, dbo.Table_2022_Customers), но все вьюшки приходится ручками переподвязать к таблицам из нового периода.
Сейчас заходим в каждую вьюшку и ручками копи-пастим или заменой меняем имена таблиц.

В связи с этим просьба помочь решить 2 вопроса:
1. Как это можно сделать быстро не заходя в каждую из 2х сотен вьюшек?
2. Как можно организовать запросы вьюшек таким образом, чтобы где-то один раз внести номер периода и не менять остального?

Благодарю за помощь.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103293
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
botan131,

создать скрипт из меню SSMS, затем сделать замену через меню
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103296
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может им про синонимы рассказать?
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103302
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
botan131,

автор2. Как можно организовать запросы вьюшек таким образом, чтобы где-то один раз внести номер периода и не менять остального?

Используйте табличную функцию вместо представления.

автородин раз внести номер периода
Внести куда и где?
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103320
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик,
если я Вас правильно понял, примерно так и делаем для каждой вьюшки отдельно. Если вы про скрипт на все вьюшки, то расскажите как.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103321
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,
Спасибо. Попытаюсь разобраться (я не волшебник, я только учусь). Если ткнете в конкретный пример, буду благодарен.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103322
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222
Может им про синонимы рассказать?

Ненене! Не порть удовольствие!
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103323
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
Спасибо, почитал поверхностно, что такое табличные функции, думаю это, что надо. Надеюсь смогу разобраться.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103328
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uaggster
aleks222
Может им про синонимы рассказать?

Ненене! Не порть удовольствие!


Кайфанул?
Интересно, много ли на мединских форумах таких экспертов, которые на вопрос о конкретной болячке отвечают: " Может рассказать им о существовании гистологии? " и дружненько стебутся над задавшим вопрос...

А если по существу, то спасибо конечно, что указываете путь и наводите меня на дальнейшее саморазвитие, но я не админ, не программист и т.п., я был бы рад, если бы меня носом ткнули.

спасибо за понимание.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103332
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
botan131
uaggster
пропущено...

Ненене! Не порть удовольствие!


Кайфанул?
Интересно, много ли на мединских форумах таких экспертов, которые на вопрос о конкретной болячке отвечают: " Может рассказать им о существовании гистологии? " и дружненько стебутся над задавшим вопрос...

А если по существу, то спасибо конечно, что указываете путь и наводите меня на дальнейшее саморазвитие, но я не админ, не программист и т.п., я был бы рад, если бы меня носом ткнули.

спасибо за понимание.



Мне бы интсрукцию, типа:

1. На все 100 вовлеченных таблиц присутствующих во вьюшках создай синонимы вот таким скриптом... или ручками.
2. Во всех 200 вьюшках замени ссылки на таблицы на их синонимы вот таким скриптом или ручками.
3. В момент перехода периода заменяешь синонимы на новые таблицы вот таким скриптом...
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103344
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

Попробовал разобраться, своими силами удается сделать табличную функцию, но вот c параметром, который был бы частью имени таблицы не разобрался.

Пример скрипта можно?
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103347
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
botan131
botan131
пропущено...


Кайфанул?
Интересно, много ли на мединских форумах таких экспертов, которые на вопрос о конкретной болячке отвечают: " Может рассказать им о существовании гистологии? " и дружненько стебутся над задавшим вопрос...

А если по существу, то спасибо конечно, что указываете путь и наводите меня на дальнейшее саморазвитие, но я не админ, не программист и т.п., я был бы рад, если бы меня носом ткнули.

спасибо за понимание.



Мне бы интсрукцию, типа:

1. На все 100 вовлеченных таблиц присутствующих во вьюшках создай синонимы вот таким скриптом... или ручками.
2. Во всех 200 вьюшках замени ссылки на таблицы на их синонимы вот таким скриптом или ручками.
3. В момент перехода периода заменяешь синонимы на новые таблицы вот таким скриптом...


ИнТсРукция
1. Осознаешь, методом чтения документации, "что такое есть синоним".
2. Объявляешь синонимы для всех своих табличек. Надеюсь их меньше 200.
3. ОДИН раз меняешь в своих вьюшках имена таблиц на синонимы. После чего вьюшки более не трогаем.
4. При необходимости, переопределяешь синоним на ДРУГУЮ табличку. Можно скрипт наваять. Если табличек не 200 - руками.

Код: sql
1.
2.
DROP SYNONYM [aShema].[aTable]
CREATE SYNONYM [aShema].[aTable] FOR [schema].[Table_NNN]
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103348
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
botan131
Владислав Колосов,

Попробовал разобраться, своими силами удается сделать табличную функцию, но вот c параметром, который был бы частью имени таблицы не разобрался.

Пример скрипта можно?

Не мучайся, страдалец. На этом пути рыбы нет.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103349
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Спасибо!
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103358
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
botan131 При переходе в новый период программа создает таблицы для нового периодаКто-то заново изобретает секционирование
А чем обычное не устраивает? Варианты ответов
  • Вы про него не знали?
  • Версия/редакция этого не умеют?
  • Нет доступа к коду приложения?
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103393
botan131
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Программа ERP сторонняя, закрытая, доступа туда нет, но есть возможность работать с базой программы.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103422
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
botan131,

луче сделайте так - создайте одно представление, которое необходимо будет исправлять. Остальные представления отредактируйте так, чтобы они использовали это единое представление.
...
Рейтинг: 0 / 0
Замена имен таблиц в большом количестве вьюшек
    #40103883
evgenA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
botan131,

как вариант по первому пункту, найти и заменить во всех вью
Если можно четко формализовать критерии замены, можно как-то так скрипт попробовать сформировать (альтер вью последняя колонка)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT  
        DB_NAME() AS DB_Name ,
	SCHEMA_NAME(SCHEMA_ID) as SCHEMA_name,
        o.name AS 'ViewName' ,
        o.Type ,
        o.create_date ,
        sm.[DEFINITION] AS 'Original script'
		,replace(replace(sm.[DEFINITION],'CREATE','ALTER'),'Table_2021_','Table_2022_')+char(13) + char(10)+'GO'+char(13) + char(10) as 'New script'
FROM    sys.objects o
        INNER JOIN sys.sql_modules sm ON o.object_id = sm.OBJECT_ID
WHERE   
o.Type = 'V' -- user view
--and o.name like '%Name%' -- если есть определенная маска отбора по имени вью 
and sm.[DEFINITION] like '%Table\_2021\_%' escape '\'  -- если есть определенная маска имени искомых таблиц
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замена имен таблиц в большом количестве вьюшек
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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