【发布时间】:2012-11-22 18:56:37
【问题描述】:
我在 SQL Server 中有以下存储过程:
DECLARE @SQL_DtsAcumGPSDataZeros NVARCHAR(MAX);
SET @SQL_DtsAcumGPSDataZeros= N'SELECT [counter]
,[iID]
,[iVehicleID]
,[fTripDistance]
,[dtDateTime]
,[fLongitude]
,[fLatitude]
,[bLatLongValid]
,[fSpeed]
,[bIgnition]
,[bStopFlag]
,[fTripTime]
,[bWorkHours]
,[iLogReason]
,[bLatLongValidGuess]
,[bAux1]
,[bAux2]
,[bAux3]
,[bAux4]
,[bAux5]
,[bAux6]
,[bAux7]
,[bAux8]
INTO ' + @DtsAcumGPSDataZeros + N'
FROM ' + @DtsAcumGPSData +
N' WHERE fTripDistance= 0'
EXECUTE sp_executesql @SQL_DtsAcumGPSDataZeros
PRINT @SQL_DtsAcumGPSDataZeros
GO
然后得到错误
消息 102,第 15 级,状态 1,第 2 行
'0' 附近的语法不正确。
【问题讨论】:
-
你能解释一下fTripDistance表的结构吗?
@DtsAcumGPSDataZeros和@DtsAcumGPSData是什么? -
DtsAcumGPSData 包含字段fTripDistance,该字段为dsts 类型float 且不允许为null。变量 atDtsAcumGPSDataZeros only 设置如下: DECLARE atDtsAcumGPSDataZeros VARCHAR (50); SET atDtsAcumGPSDataZeros='To'+ atNAutobus + 'DtsAcumGPSDataZeros' 其中 atNAutobus 的数据类型为 NVARCHAR(4) --at=arroba
-
您的
PRINT命令显示什么?在执行 SQL 语句之前调用它! -
print 命令只打印 sqlstatement 并放置变量的值和执行的 stament
-
打印命令:SELECT [counter] ,[iID] ,[iVehicleID] ,[fTripDistance] ,[dtDateTime] ,[fLongitude] ,[fLatitude] ,[bLatLongValid] ,[fSpeed] ,[ bIgnition] ,[bStopFlag] ,[fTripTime] ,[bWorkHours] ,[iLogReason] ,[bLatLongValidGuess] ,[bAux1] ,[bAux2] ,[bAux3] ,[bAux4] ,[bAux5] ,[bAux6] ,[bAux7] ,[bAux8] INTO To245DtsAcumGPSDataZeros FROM To245DtsAcumGPSData WHERE fTripDistance= 0
标签: sql sql-server-2005 stored-procedures sql-server-2008-r2