Sql server 使用链接服务器从SQL Server中的Oracle SQL获取变量的日期

Sql server 使用链接服务器从SQL Server中的Oracle SQL获取变量的日期,sql-server,oracle,sql-server-2008,stored-procedures,Sql Server,Oracle,Sql Server 2008,Stored Procedures,我正在尝试将日期传递到Sql Server存储过程,在该存储过程中,我将使用链接服务器从Oracle数据库中获取日期。 这是我第一次使用Sql Server过程,有人能帮我获取从@Datesql到变量(@BeginDate,@EndDate)的日期,以便将其进一步传递给存储过程吗 由于此查询只生成一行,是否可以在变量中捕获打印结果 当我打印时,我是在Sql Server中获取日期的 任何帮助都将不胜感激。 谢谢 如果您想将linkedserver上的exec(…)返回的一些值复制到@BeginD

我正在尝试将日期传递到Sql Server存储过程,在该存储过程中,我将使用链接服务器从Oracle数据库中获取日期。 这是我第一次使用Sql Server过程,有人能帮我获取从@Datesql到变量(@BeginDate,@EndDate)的日期,以便将其进一步传递给存储过程吗

由于此查询只生成一行,是否可以在变量中捕获打印结果

当我打印时,我是在Sql Server中获取日期的

任何帮助都将不胜感激。 谢谢


如果您想将linkedserver上的
exec(…)返回的一些值复制到
@BeginDate
@EndDate
变量中,则可以使用tables变量加
SELECT@variabile=Column。。。根据@table_变量
,因此:

DECLARE @ResultsFromOrclHRDev TABLE (
    BeginDate VARCHAR(10), -- You could try also DATE / DATETIME 
    EndDate VARCHAR(10)
);

INSERT @ResultsFromOrclHRDeb (BeginDate, EndDate)
EXECUTE(@Datesql) AT orclhrdev;

SELECT @BeginDate = x.BeginDate, @EndDate = x.EndDate
FROM @ResultsFromOrclHRDeb x
-- WHERE conditions ?
注意:要存储日期/时间值,我将使用:date、DATETIME、SMALLDATETIME,而不是
NVARCHAR(30)

此外,您还可以尝试在此链接服务器上使用
OUTPUT
参数(解决方案未经测试):

注意:请参阅此问题的选定解决方案

DECLARE @ResultsFromOrclHRDev TABLE (
    BeginDate VARCHAR(10), -- You could try also DATE / DATETIME 
    EndDate VARCHAR(10)
);

INSERT @ResultsFromOrclHRDeb (BeginDate, EndDate)
EXECUTE(@Datesql) AT orclhrdev;

SELECT @BeginDate = x.BeginDate, @EndDate = x.EndDate
FROM @ResultsFromOrclHRDeb x
-- WHERE conditions ?
set @Datesql='SELECT TO_CHAR(A.WW_WEEK_END_DT-6,''YYYY-MM-DD'')  INTO ?,TO_CHAR(A.WW_WEEK_END_DT,''YYYY-MM-DD'') INTO ? FROM XX_PUNCH_TBL'

-- print @Datesql
execute(@Datesql, @BeginDate OUTPUT, @EndDate OUTPUT) at orclhrdev

-- select @BeginDate AS BD, @EndDate AS END