我正在運行基於基本條件子句檢索行的基本查詢,沒有什麼複雜的。這工作正常:Oracle錯誤:字符串緩衝區太小
<cfquery name="courses" datasource="banner">
SELECT *
FROM tjucatalog
WHERE (course_status = 'Active')
AND CONCAT(subject,course_no) IN (#PreserveSingleQuotes(courselist)#)
AND term IN ('Fall 2012')
AND ((end_date > #now()#) OR (course_meeting_info IS NOT NULL))
ORDER BY TYear, TSort, DayNum, start_date, time, title
</cfquery>
但是,當我從查詢中刪除「AND term IN」行時,它失敗。
<cfquery name="courses" datasource="banner">
SELECT *
FROM tjucatalog
WHERE (course_status = 'Active')
AND CONCAT(subject,course_no) IN (#PreserveSingleQuotes(courselist)#)
AND ((end_date > #now()#) OR (course_meeting_info IS NOT NULL))
ORDER BY TYear, TSort, DayNum, start_date, time, title
</cfquery>
我得到的錯誤是:ORA-06502:PL/SQL:數字或值錯誤:字符串緩衝區太小ORA-06512:在 「BANINST1.TJUCATALOG_PACK」,線路519
這可能是一個需要包含字段「術語」的視圖,或者在這裏我還沒有其他的東西我完全不知道?
tjucatalog是一個視圖嗎? –
從名稱看,'BANINST1.TJUCATALOG_PACK'看起來像一個包,你可以在'all_objects'中檢查;並且可能有一個'varchar2'列在某處聲明太小 - 可能是對「term」的引用,但不一定。但目前還不清楚它適合於圖片的位置。tjucatalog是一種視圖嗎?你確定這個錯誤是來自這個select,而不是你以後使用其中一個返回值的地方嗎? –
使用ALL_SOURCE查看軟件包的代碼。 –