SQL Server是否处理与表不同的视图?

时间:2015-08-11 17:18:47

标签: sql-server tsql ssms

我遇到了一个客户端的一个有趣的问题,我发送了一个.dll文件,里面有一个SQL语句。当客户端在Management Studio中运行此SQL查询时,查询运行没有问题并返回正确的结果,当他将其留给SQL Server以使用sp_executesql命令运行时收到以下错误:

  

varchar值的转换' 201101456914'溢出了一个int列。超出最大整数值。

(上面错误中的数字来自varchar列,为什么它试图将它转换为整数是一个谜)。当他在表中设置数据并以相同的方式运行查询时(使用sp_executesql)它完全正常。

以下是最终使用sp_executesql:

触发的查询
exec sp_executesql N'SELECT OffBookAccountDescription, Value,    
  OffBookAccountId, DataAsOf FROM OffBook 
  WHERE OffBookCode = @code AND MemberNumber = @num',
  N'@num int,@code char(1)',@num=5555,@code='U'

这会导致错误出现在视图中,但在具有完全相同数据的表上触发时则不会出现。上述错误消息中的数字对应于查询中的OffBookAccountId字段。

SQL Server在后端处理的视图是否与表格不同?

0 个答案:

没有答案