1

我正在将 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 的任何想法?

4

1 回答 1

0

看起来像一个表值函数

于 2012-09-03T20:06:56.377 回答