Syntax 这是别人的代码。我正试着让它工作,但不知道出了什么问题。

Syntax 这是别人的代码。我正试着让它工作,但不知道出了什么问题。,syntax,Syntax,有人能帮我摆脱这个错误吗 味精156,第15级,状态1,第12行 关键字“INTO”附近的语法不正确。 Msg 102,15级,状态1,第24行 “LocationID”附近的语法不正确 use DB1 -- Declare variables declare @AnalysisSID varchar(10) declare @ExposureDB varchar(250) declare @AnalysisName varchar(250) -- !! begin user input !

有人能帮我摆脱这个错误吗

味精156,第15级,状态1,第12行 关键字“INTO”附近的语法不正确。 Msg 102,15级,状态1,第24行 “LocationID”附近的语法不正确

use DB1

-- Declare variables
declare @AnalysisSID varchar(10)
declare @ExposureDB varchar(250)
declare @AnalysisName varchar(250)

-- !! begin user input !! -------------------------------------------------------------------
set @AnalysisSID =9
set @ExposureDB = (select ExposureDataSourceName
                  from t9_LOSS_DimExposureDataSource) --<--!!! update result table number

-- !! end user input !! ----------------------------------------------------------------------
set @AnalysisName = (select AnalysisName from tAnalysisResult where ResultSID = @AnalysisSID)

Exec(
'
if not (exists (select * from sysobjects where name = ''LOSSES_FORFEED''))
begin
CREATE TABLE LOSSES_FORFEED (
Name varchar(250) NOT NULL,
LOCID varchar(100) NOT NULL,
ContractID varchar(100) NOT NULL,
GroundUp_Loss float,
Gross_Loss float)
end

INTO LOSSES_FORFEED
SELECT  
'''+@AnalysisSID+''' as AnalysisID, '''+@AnalysisName+''' as Name,
l.LocationID as LOCID,
c.ContractID,
sum(GroundUpLoss) as GroundUp_Loss, 
sum(GrossLoss) as Gross_Loss
FROM t'+@AnalysisSID+'_LOSS_ByLocationSummary loss
join '+@ExposureDB+'..tLocation l on loss.LocationSID = l.LocationSID
join '+@ExposureDB+'..tContract c on l.ContractSID = c.ContractSID
group by 
c.ContractID,
l.LocationID
')
您以前是否尝试在Loss\u FORFEED中添加插入:


至少对于MS SQl Server数据库来说,这应该是可行的。但是参数的数量也不匹配:表loss\u FORFEED有5列,但在select语句中提供了6个参数

那是什么数据库?还有,你到底在哪一行出错?我更改了数据库名。此外,当我双击第一个错误时,它会将我从t9_LOSS_DimeExposureDatasource带到此行-否。您使用的是什么RDBMS?另外,请在SQL.MS SQL Server数据库中标记您的问题。我标记了。它给了我这个错误:Msg 213,级别16,状态1,第12行列名或提供的值的数量与表定义不匹配。谢谢你的工作!!!我从insert into部分中删除了作为AnalysisID的“++@AnalysisSID+”,并在“into”之前添加了insert。谢谢
INSERT INTO LOSSES_FORFEED