sql - 与 PROCEDURE 相关的 SQL Oracle 问题
问题描述
我对程序有一些问题,我找不到解决方案。结束循环的一些错误。
你有什么想法来解决它吗?
请找到带有错误截图的附件。
CREATE OR REPLACE PROCEDURE PR_GEN_TRANSAKCJI
IS
KL NUMBER;
ZN NUMBER;
L_POZ NUMBER;
POK NUMBER;
CE NUMBER;
CZP NUMBER;
DNI NUMBER;
POZ NUMBER;
BEGIN
KL :=FN_LOSUJ_KLIENTA();
SELECT ZNIZKA
INTO ZN
FROM KLIENT
WHERE ID_KLIENTA=KL;
INSERT INTO FAKTURA (ID_FAKTURY, DATA_WYSTAWIENIA_FAKTURY, WARTOSC_FAKTURY,
WARTOSC_FAKTURY_PO_ZNIZCE, ID_KLIENTA, WARTOSC_ZNIZKI) VALUES
(SEQUENCE_FAKTURA.NEXTAL, SYSDATE, 0, 0, KL, ZN);
LICZNIK :=0;
L_POZ :=FN_LOSUJ_POKOJ();
SELECT CENA_ZA_DOBE
INTO CE
FROM TYP_POKOJU, POKOJ
WHERE POK=POKUJ.NR_POKOJU AND POKOJ.ID_TYPU_POKOJU =
TYP_POKOJU.ID_TYPU_POKOJU;
DNI :=FN+LOSUJ(1,5);
CZP :=DNI*CE;
POZ :=LICZNIK + 1;
INSERT INTO FAKTURA_DETALE (POZYCJA, CENA_ZA_POKOJ, ID_FAKTURY, NR_POKOJU,
LICZBA_DNI) VALUES (POZ, CZP, SEQUENCE_FAKTURA.CURRVAL, POK, DNI);
LICZNIK := LICZNIK = 1;
EXIT WHEN LICZNIK > L_POZ;
END LOOP;
END;
/
谢谢您的帮助!
解决方案
您应该尝试SHOW ERRORS
调试您的输出,因为它是最方便的功能,没关系您错过了LOOP
start 语句修复此问题,因为仅END LOOP
在您的代码中可见
Idk 你想在哪里开始循环。猜测您正在退出某个值,该值与开始时操纵的其他值相关,因此可以尝试放置BEGIN LOOP ..... END LOOP
推荐阅读
- r - Lat-long 使用来自 ggmap 的地理编码
- android - 如何在 ActiveAndroid orm 中保存树 json?
- javascript - 将新的 NuxtJS 应用与现有的 Express API 一起使用
- sql - 删除或保留列中的数据 - SQL
- javascript - 使用包不渲染的 D3 v5 气泡图
- reactjs - React 秒表计时器未按预期工作
- mysql - 如何在 Windows8 中启动和停止 MYSQL DB
- python - 如何在视频 n 秒后运行特定代码
- selenium - 如何验证硒中两个单词之间有多个空格的文本?
- react-native - 从 React Native 中的函数或默认值导出值