当前位置:  开发笔记 > 数据库 > 正文

在SQL Server中访问具有动态名称的另一个数据库

如何解决《在SQLServer中访问具有动态名称的另一个数据库》经验,为你挑选了1个好方法。

SQL Server 2005中有两个数据库:一个名为"A",另一个名为"A_2"."A"是用户输入的变量名,第二个数据库的"_2"前缀始终是已知的.(所以数据库可以是"MyDB"和"MyDB_2"等)

如何在不知道实际名称的情况下从存储过程中访问其他数据库而不使用'exec'语句?



1> Tomalak..:

您可以尝试使用称为同义词的新SQL Server 2005功能.

您需要CREATE SYNONYM,然后使用同义词编译并保存存储过程.这将使您有可能在以后"动态"更改同义词.显然,仍然需要将CREATE SYNONYM代码作为动态SQL运行.

要运行CREATE SYNONYM,必须为用户授予相应的权限,或者具有ALTER SCHEMA权限.在你走这条路线之前一定要阅读更多关于同义词的内容,附上几个字符串.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有