Sql server 从存储过程中读取时间戳值
我试图在SSRS报告中显示一些数据,但我遇到了一个问题 对于intormation,我必须使用现有的存储过程,并且我必须使用的SQL用户只能执行存储过程 我想做的是创建临时表,在上面插入数据,然后处理它 但问题是,我必须使用的一个SP返回一个TimeStamp(RoVersion)类型的字段,而我无法读取从该存储过程返回的数据 以下是一个例子: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
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)列