0

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' 付近の構文が正しくありません。

4

1 に答える 1

0

パラメータとして 0 を使用してみてください

DECLARE @SQL_DtsAcumGPSDataZeros NVARCHAR(MAX),
        @id int = 0
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 id = @id'
  EXEC sp_executesql @SQL_DtsAcumGPSDataZeros, N'@id nvarchar(100)', @id
  PRINT @SQL_DtsAcumGPSDataZeros
于 2012-11-24T17:24:59.647 に答える