-1
해당 공급 업체 ID를 가져와 해당 공급 업체의 이름과 모든 송장의 합계를 인쇄하는 저장 프로 시저 spSumInvoices
을 생성하려고합니다.왜이 ')'오류가 발생 했습니까?
IF OBJECT_ID ('spSumInvoices') IS NOT NULL
DROP PROC spSumInvoices;
GO
CREATE PROC spSumInvoices
@FindVen int,
@InvoiceTotal Money,
@VenName VARCHAR
AS
BEGIN
SELECT
@FindVen, SUM(InvoiceTotal) AS 'Total', @VenName
FROM
Vendors,Invoices
WHERE
Invoices.VendorID = @FindVen
GROUP BY
@InvoiceTotal
END
PRINT 'Vendor' + @VenName
PRINT 'Has an invoice total of $' + CONVERT(VARCHAR,@InvoiceTotal);
나는이 오류를 얻을 : 내가 저장 프로 시저에 새로 온 사람의 권리 경우
이
는 확실하지 내가 사용하고있는 코드입니다Msg 164, Level 15, State 1, Procedure spSumInvoices, Line 15
Each GROUP BY expression must contain at least one column that is not an outer reference.
'CONVERT'에 대상 데이터 형식 매개 변수가 없습니다. 당신은'VendorName'에 그것을 필요로하지 않기 때문에 그것을 완전히 제거해야합니다. – Filburt
만약 내가이 오류를 제공 varchar 될 데이터 형식을 넣어 : 이름이 "VenderName"이 컨텍스트에서 허용되지 않습니다. 유효한 표현식은 상수, 상수 표현식 및 (일부 컨텍스트에서) 변수입니다. 열 이름은 허용되지 않습니다. @Filburt –
VenderName, SUM (InvoiceTotal)'을 선택하면 안됩니다. 'Vendername'이 어디에서 발생하는지 분명하지 않습니다. – Filburt