Работа с SQL Server 2008 R2. У меня есть сценарий, полный следующие утверждения:Как избежать жесткого кодирования DB-имени в создании синтаксиса SQL
create synonym [synonym_name] for [linkedServerName].[databaseName].[ext].[tableName1]
create synonym [synonym_name] for [linkedServerName].[databaseName].[ext].[tableName2]
Вопрос: 1. Есть ли способ избежать 4 части именования. особенно жестко закодированное имя DB
Существует существующий скрипт для создания LinkedServer. Можно ли это использовать при создании синонимов?
Что было бы лучшим способом создания синонимов для нескольких таблиц/представлений?
declare @Server sysname, @db sysname, @Schema sysname, @Table sysname, @statement varchar(max) SELECT @Server = 'Venice', @db = 'venice1', @Schema = 'ext' EXEC('CREATE SYNONYM synonym_name1 FOR '+ @Server +'.'+ @db +'.' + @Schema + '.Table1') EXEC('CREATE SYNONYM synonym_name2 FOR '+ @Server +'.'+ @db +'.' + @Schema + '.Table2')
Мысли: Является ли это единственный способ?
Да, это синтаксис синонимов. – Rahul
Насколько я знаю, это действительно единственный способ сделать это –
Я так и предполагал. Благодарю. – shaz