Возникли проблемы с процедурой PL / SQL - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть несколько PL/SQL блоков для назначения, и у меня возникли некоторые проблемы с ними, оба работают по отдельности, хорошо, но когда я запускаю весь код сразу (который мне нужен для назначения),Я получаю ошибку.Ниже приведен код и ошибка, которую я получаю, любая помощь в том, что я пропускаю, будет очень признательна.Спасибо

DECLARE
Salesbyzip NUMBER(10,2):=0;
inputZip NUMBER(5):=00000;

FUNCTION Zip_Code_Sales(zipcode IN NUMBER)

RETURN NUMBER IS
total_Sales NUMBER(10,2):=0;

BEGIN
    SELECT SUM(GROSS_SALE_PRICE)
    INTO total_Sales
    FROM SALES_OVS
    INNER JOIN CUSTOMERS_OVS ON SALES_OVS.CUST_ID = 
CUSTOMERS_OVS.CUSTOMER_ID
    WHERE zipcode = CUSTOMERS_OVS.Address_zip;
    RETURN total_Sales;
END;

BEGIN
    inputZip:=21009;
    Salesbyzip:=Zip_Code_Sales(inputZip);
    dbms_output.put_line('The total sales for zip code ' || inputZip || 
 ' is $'|| Salesbyzip);
END;

/*4.*/

 DECLARE
zipMostSales NUMBER(5):=00000;

FUNCTION Zip_Code_Max_Sales
RETURN NUMBER IS
maxZip NUMBER(5):=00000;

BEGIN
WITH sales_customers AS
(SELECT ADDRESS_ZIP, COUNT(*) AS Salesbyzip
    FROM SALES_OVS
    INNER JOIN CUSTOMERS_OVS ON SALES_OVS.CUST_ID = 
CUSTOMERS_OVS.CUSTOMER_ID
    GROUP BY ADDRESS_ZIP
    ORDER BY Salesbyzip DESC, ADDRESS_ZIP)
SELECT ADDRESS_ZIP
INTO maxZip
FROM sales_customers
WHERE ROWNUM <= 1;
RETURN maxZip;
END;

BEGIN
zipMostSales:=Zip_Code_Max_Sales;
dbms_output.put_line('The Zipcode with the most sales is ' || 
zipMostSales);
END;

Отчет об ошибке - ORA-06550: строка 27, столбец 2: PLS-00103: Обнаружен символ "DECLARE" ORA-06550: строка 35, столбец 7: PLS-00103: Обнаружен символ "SALES_CUSTOMERS" при ожидании одного из следующих действий:

06550. 00000 - "строка% s, столбец% s: \ n% s" * Причина: обычно ошибка компиляции PL / SQL.* Действие:

Я хочу, чтобы все блоки без ошибок прошли через все блоки, и отобразили запрошенную информацию.

...