我将SP从Sybase迁移到SQL Server,我有一个案例,他们使用"代理表"用于在查询中使用SP时内部调用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 ??