使用SQL Server 2008 R2。我有一个脚本充满下面的语句:如何避免在SQL同义词创建中硬编码DB名称
create synonym [synonym_name] for [linkedServerName].[databaseName].[ext].[tableName1]
create synonym [synonym_name] for [linkedServerName].[databaseName].[ext].[tableName2]
问: 1.请问有什么办法可以避免4部分的命名。特别是硬编码的数据库名称
有一个用于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