3
我在SQL Server中有一个用户定义的表函数,用于汇总来自多个表(包括另一个数据库的几个表)的数据。这是在查询中硬编码数据库的名称,但我们希望使数据库名称可配置(因为我们的数据库通常与其他应用程序的数据库共享服务器)。动态访问用户函数内的另一个数据库中的表
我试图构建使用存储在配置表数据库名称的功能内的动态查询字符串,但:
- 当我试图
exec(@sqlStatement)
SQL服务器说,执行字符串是不允许的内功能。 - 然后我试着
exec sp_executesql @sqlStatement
并创建了函数,但是当你执行它时,SQL Server表示在一个函数内部,你只能运行扩展函数和过程。
所以问题是:是否可以创建一个函数或存储过程访问另一个数据库中的表,而不必在数据库名称不同时重新创建函数?
TIA。
感谢您的澄清和链接,我会读它。 – 2010-03-17 13:29:28
关于独特的数据库名称,这将是一个好主意,但我不认为他们想要更改现有的数据库名称,因为这是次要功能的一部分(即不是应用程序的关键部分)。 – 2010-03-17 13:35:32