【发布时间】:2022-01-09 13:21:50
【问题描述】:
我希望创建一个在数据库中查找给定客户 ID 的过程。如果客户存在,它将找到的变量设置为 1。否则,将找到的变量设置为 0。但是,我的调用代码块没有提供结果。我错过了什么还是我的 SELECT 语句应该是别的东西?谢谢。
CREATE OR REPLACE PROCEDURE find_customer(CUST_ID IN NUMBER, found OUT NUMBER) AS
CUSTID NUMBER := CUST_ID;
BEGIN
SELECT CUSTOMER_ID INTO CUSTID
FROM CUSTOMERS
WHERE CUSTOMER_ID = CUST_ID;
IF CUST_ID = NULL THEN
found := 1;
END IF;
EXCEPTION
WHEN no_data_found THEN
found := 0;
END;
/
DECLARE
CUSTOMER_ID NUMBER := 1;
found NUMBER;
BEGIN
find_customer(1,found);
DBMS_OUTPUT.PUT_LINE (found);
END;
【问题讨论】: