我创建了一个这样的存储过程:
INSERT (keyMolde, nEficiencia, nCavidades,
mdFechaCarga,mdOrigenCarga, mdUsuarioCarga, bActivo)
VALUES (Origen.keyMolde, Origen.nEficiencia, CASE WHEN CAST(Origen.sCavidades AS INT) = Origen.sCavidades THEN Origen.sCavidades
ELSE CAST(Origen.sCavidades AS Numeric(12,0)) END,
Origen.mdFechaCarga, Origen.mdOrigenCarga, Origen.mdUsuarioCarga, Origen.bActivo);
当我尝试跑步时,我得到Incorrect syntax near '('.
,但我真的找不到我想要关闭的地方'(',首先我瘦了我忘了VALUES
(Origen.keyMolde, Origen.nEficiencia, CASE WHEN CAST(Origen.sCavidades AS INT) = Origen.sCavidades THEN Origen.sCavidades
ELSE CAST(Origen.sCavidades AS Numeric(12,0)) END
所以我尝试将另一个')'作为:ELSE CAST(Origen.sCavidades AS Numeric(12,0))) END
但是sql throw')'附近的语法错误,我该怎么想结束这句话?谁能在那里喝我?
答案 0 :(得分:3)
正如Ollie在评论中所说,更改您的插入内容以使用INSERT INTO.. SELECT
:
INSERT INTO Table --Table you want to insert to
(keyMolde,
nEficiencia,
nCavidades,
mdFechaCarga,
mdOrigenCarga,
mdUsuarioCarga,
bActivo)
SELECT Origen.keyMolde,
Origen.nEficiencia,
CASE WHEN CAST(Origen.sCavidades AS INT) = Origen.sCavidades
THEN Origen.sCavidades
ELSE CAST(Origen.sCavidades AS Numeric(12,0)) END,
Origen.mdFechaCarga,
Origen.mdOrigenCarga,
Origen.mdUsuarioCarga,
Origen.bActivo
FROM Origen