我正在将 SP 从 Sybase 迁移到 SQL Server,并且我有一个案例,他们使用“代理表”,这些表用于在查询中使用它们时在内部调用 SP...
用于创建代理表的语法是这样的:
USE myDatabase
go
sp_addobjectdef proxy_table_name, 'loopback.myDatabase..sp_name', 'rpc'
go
CREATE EXISTING TABLE proxy_table_name
(
col1 int NOT NULL,
col2 char(2) NOT NULL,
col3 varchar(20) NOT NULL,
_id_sp int NULL
)
LOCK ALLPAGES
go
SP 定义是这样的:
CREATE procedure sp_search_intermediary_agent
(
@param_default_1 char(1) = 'N',
@param_default_2 bit = 0,
@i_id_query int
)
as
begin
........ (some code here)
select col1, col2, col3 from table_where_data_is
where id_table = @i_id_query
return 0
end
go
并且在查询中使用代理表,就好像它是一个普通表......
select col1, col2, col3,....
from table_1, proxy_table_name
where table_1.id_field = proxy_table_name._id_sp
请,关于如何将此“代理表”迁移到 SQL Server 2008 的任何想法?