0
我一直在嘗試運行Select語句。所以我不確定我做錯了什麼。 例如,如果起始字母是「A」而結尾字母是「D」,則結果應顯示名稱以A,B,C和D開頭的所有客戶。如果輸入「A」和「Z」結果應顯示所有客戶。然後運行一個FOR循環,該循環應該遍歷所有選定的CNAME,然後調用我的過程,除了CNAME的%TYPE之外,它將依次顯示在適當的格式中。要注意:我的過程正常工作,因爲我已經測試過它。在測試腳本中使用SQL和REGEX_LIKE打印Select語句
SET SERVEROUTPUT ON;
UNDEFINE v_begining_letter;
UNDEFINE v_ending_letter;
DECLARE
&v_begining_letter CHAR(1);
&v_ending_letter CHAR(1);
CURSOR cur_car IS
SELECT DISTINCT(CNAME)
FROM CAR
WHERE REGEXP_LIKE (CNAME, '^[&v_begining_letter-&v_ending_letter]*$');
counter integer :=0;
BEGIN
DBMS_OUTPUT.PUT_LINE('Name' || 'Total');
FOR counter IN cur_car LOOP
counter := counter+1;
cust_dep(cur_car.CNAME);
END LOOP;
END;
/
試試這個'SELECT DISTINCT(CNAME) FROM CAR v_begining_letter和v_ending_letter之間的SUBSTR(CNAME,1,1);'告訴我它是否解決了這個問題。不確定您的問題是否僅在該選擇語句中。如果是這樣,其餘的信息是無關緊要的。 – g00dy
@ g00dy Nope沒有幫助。它只是給我一個錯誤,我的計數器是無效的,而且我的光標超出了範圍。 –
@ g00dy您的選擇語句也不起作用。我輸入的字符串顯示爲無效標識符。但是我的SELECT語句可以工作。 –