我有2个数据库" Alfha"和#34; Betha"。
在DB" Betha"中创建了proc_test。
它使用在db" Betha"中创建的用户创建的类型type_test的表值参数。
我不想要,而且我无法在db" Alpha"。
我的所有代码都必须执行#34; Alfha"分贝。
从理论上讲,我可以使用betha"在我的代码开头,但我不能在开头做(我的代码由SP执行,在开头添加变量声明)
--use Betha --this works
declare @sql varchar(max)
use Betha --this doesn't work
declare @table_var type_test
execute proc_test @table_var
use Alpha
我使用的是SQL Server 2008 R2。
如何编译代码?为什么"使用数据"声明后,编译器是否存在?
答案 0 :(得分:0)
答案 1 :(得分:0)
我有一个解决方法 它将是:
--use Betha --this works
declare @sql varchar(max)
use Betha --this doesn't work
set @sql= 'use Betha
declare @table_var type_test
execute proc_test @table_var'
execute (@sql)
use Alpha
我对这种解决方法不太满意,但它确实有效。
问题是我的所有代码都必须在@sql
中还有其他想法吗?