我改變一個存儲過程,當我嘗試excecute,我得到:有語法錯誤,但是行有沒有「爲」
Msg 156, Level 15, State 1, Procedure vtg_asmbltimephasedashassy, Line 20
Incorrect syntax near the keyword 'AS'
但是,當我去到第20行,沒有關鍵字'as',也不在第20行之前或之後的行中。也許我正在計算錯誤的行數。
當我數到第20行,我得到讀取的行
jobmtl.partnum=partwhse.partnum FULL OUTER JOIN
任何人都可以點我在正確的方向是什麼,我需要做來解決問題?我的存儲過程如下。
USE [mfgsys803]
GO
/****** Object: StoredProcedure [dbo].[vtg_asmbltimephasedashassy] Script Date: 01/08/2013 12:59:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[vtg_asmbltimephasedashassy] @p_plant varchar(max)
as
begin
set nocount on;
SELECT jobhead.jobnum, sum(partwhse.onhandqty) as 'onhandqty', jobhead.partnum, jobhead.revisionnum, jobhead.prodqty, jobhead.startdate, jobhead.duedate, jobhead.reqduedate,
jobhead.commenttext, jobmtl.issuedcomplete, jobmtl.issuedqty, jobmtl.mtlseq, jobmtl.partnum AS 'mtlpart', jobmtl.requiredqty, jobmtl.qtyper, jobmtl.reqdate,
partwhse.warehousecode, prodgrup.description
FROM jobmtl LEFT OUTER JOIN
partwhse INNER JOIN
warehse ON partwhse.company = warehse.company AND partwhse.warehousecode = warehse.warehousecode ON jobmtl.company = partwhse.company AND
jobmtl.partnum = partwhse.partnum FULL OUTER JOIN
prodgrup INNER JOIN
jobhead ON prodgrup.company = jobhead.company AND prodgrup.prodcode = jobhead.prodcode ON jobmtl.company = jobhead.company AND
jobmtl.jobnum = jobhead.jobnum
WHERE (jobhead.jobreleased = 0) AND (jobhead.jobfirm = 1) AND (jobhead.jobengineered = 1) AND (jobhead.company = 'lot') and (prodgrup.description like '%assy%') and ([email protected]_plant) and ([email protected]_plant)
group by jobhead.jobnum, jobhead.partnum, jobhead.revisionnum, jobhead.prodqty, jobhead.startdate, jobhead.duedate, jobhead.reqduedate,
jobhead.commenttext, jobmtl.issuedcomplete, jobmtl.issuedqty, jobmtl.mtlseq, jobmtl.partnum AS 'mtlpart', jobmtl.requiredqty, jobmtl.qtyper, jobmtl.reqdate,
partwhse.warehousecode, prodgrup.description
end
在SQL Server中,錯誤報告在*語句*開始的行。因此,如果以某種方式創建了一條跨越1000行的單個語句,並且最後一行出現錯誤,則會在第一行報告錯誤。 –
@Damien_The_Unbeliever - 解析錯誤不適用。它是「GO」後面的第20行,因此在提交的批次中是第20行。 '@ Jennifer'雙擊錯誤信息會將您帶到違規行。 –
@MartinSmith - 批處理中第1000行出現錯誤,批處理中從第1行開始的語句將在第1行報告爲錯誤。我試圖做的一點是,僅僅依靠報告的行號不幫助定位錯誤的人。 –