sql - PL/SQL 过程遇到一些问题
问题描述
我有一些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 编译错误。*行动:
我希望让所有块顺利通过,并显示请求的信息。
解决方案
推荐阅读
- python - 如何枚举标记python中列表的元素?
- c++ - 在 main() 函数中将函数的静态数组返回到另一个数组
- mongodb - 出于分析和调查目的,维护我的 MongoDB 的编辑副本的最佳方法是什么?
- javascript - 当我点击它时,按钮颜色不会改变?
- python - Python - 拆分制表符分隔文件并转换为数据框
- java - Flyway 配置 java.lang.ClassNotFoundException: org.flyway.core.Flyway
- go - 如何在 golang/echo 中结合自定义 HTTP 错误处理程序触发 BasicAuth 提示?
- mysql - Laravel Docker SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
- python-3.x - 使用 matplotlib .pylot 绘制直方图和位于直方图上的平滑曲线
- reactjs - 如何在 React Native 样式中将我的内容图像上移?