Sql server 从存储过程中读取时间戳值

Sql server 从存储过程中读取时间戳值,sql-server,stored-procedures,Sql Server,Stored Procedures,我试图在SSRS报告中显示一些数据,但我遇到了一个问题 对于intormation,我必须使用现有的存储过程,并且我必须使用的SQL用户只能执行存储过程 我想做的是创建临时表,在上面插入数据,然后处理它 但问题是,我必须使用的一个SP返回一个TimeStamp(RoVersion)类型的字段,而我无法读取从该存储过程返回的数据 以下是一个例子: Declare @Temp Table (id int, name varchar(50), RowVersion TimeStamp) INSERT

我试图在SSRS报告中显示一些数据,但我遇到了一个问题

对于intormation,我必须使用现有的存储过程,并且我必须使用的SQL用户只能执行存储过程

我想做的是创建临时表,在上面插入数据,然后处理它

但问题是,我必须使用的一个SP返回一个TimeStamp(RoVersion)类型的字段,而我无法读取从该存储过程返回的数据

以下是一个例子:

Declare @Temp Table (id int, name varchar(50), RowVersion TimeStamp)

INSERT INTO @Temp 
EXEC usp_MySP 
我的错误是:

无法在时间戳列中插入显式值。请将insert与列列表一起使用以排除时间戳列,或在时间戳列中插入默认值

你有办法解决这个问题吗?或者是其他的方法


我正在使用SQL Server 2008。

只需将您的列声明为
varbinary(8)

Declare @Temp Table (id int, name varchar(50), RowVersion varbinary(8))

INSERT INTO @Temp 
EXEC usp_MySP 
见:

不可为空的行版本列在语义上等同于二进制(8)列。可为空的rowversion列在语义上等同于varbinary(8)