我需要从 MS SQL 服务器通过 ODBC 向 Oracle 服务器提交一系列查询,并将结果作为表存储在 MS SQL 服务器上。
它必须是直通的,因为查询需要在 Oracle 服务器上定义的服务器端函数。由于 Oracle 上运行的数据库供应商的许可限制,我无法将表保存在 Oracle 服务器上,然后通过 ODBC 访问它。
这是返回正确结果的代码,但我不知道如何保存它们:
DECLARE @BibID AS bigint
DECLARE BibList CURSOR FOR
SELECT BIB_ID FROM tblActiveSerialsThatHave740s
OPEN BibList
FETCH NEXT FROM BibList INTO @BibID
WHILE @@FETCH_STATUS=0
BEGIN
EXECUTE
('SELECT
AMDB.BIB_DATA.BIB_ID As BIB_ID,
AMDB.GetAllBibTag(AMDB.BIB_DATA.BIB_ID, ''740'', ''2'') As F740_All
FROM
AMDB.BIB_DATA
WHERE
AMDB.BIB_DATA.BIB_ID = ' + @BibID + '
GROUP BY BIB_ID '
)
AT REPORT
FETCH NEXT FROM BibList INTO @BibID
END
DEALLOCATE BibList