調試程序包過程並在實際存在數據時找不到數據。ORACLE:找不到數據 - 但有數據存在
測試只是SELECT
SELECT trim(trailing '/' from GL_SECURITY) as DUMMY
FROM [email protected]
WHERE sms_username = 'FUCHSB';
這愉快地返回自己的價值:「23706 * 706」
只要我努力以這種選入我得到一個無音_FOUND錯誤 (註釋掉錯誤處理我把)
set serveroutput on
DECLARE
p_BAS_user_name varchar2(20);
v_gl_inclusion varchar2(1000);
v_gl_exclusions varchar2(1000);
BEGIN
--inputs
p_BAS_user_name := 'FUCHSB';
dbms_output.put_line(p_BAS_user_name);
----- GOOD -----
--BEGIN
SELECT trim(trailing '/' from GL_SECURITY) as DUMMY
INTO v_gl_inclusion
FROM [email protected]
WHERE sms_username = p_BAS_user_name;
--EXCEPTION
-- WHEN NO_DATA_FOUND THEN
-- v_gl_inclusion := 'SUPER EFFING STUPID';
--END;
dbms_output.put_line(v_gl_inclusion);
END;
Error report:
ORA-01403: no data found
ORA-06512: at line 12
01403. 00000 - "no data found"
*Cause:
*Action:
FUCHSB
我能趕上錯誤除外基於第一查詢的事實就好了,我知道100%是有VAL用於數據庫中的FUCHSB。
任何想法..我真的開始鄙視甲骨文。是的,這個查詢是通過數據鏈接運行的,如在第一個查詢中看到的那樣,數據在那裏。
感謝
在SQL開發人員
解決的奇怪的行爲引起了我的忽視潛在的空白:
看起來好像SQL Developer的運行獨立選擇時做時應用自己修剪比較的「WHERE sms_username = p_BAS_user_name;'部分..原來當坐在包裏它不..一堆白色空間導致問題..仍然奇怪,它返回正常選擇。雖然謝謝!
「一堆空白」是CHAR的正常行爲datatype =) –