我正在运行一个基于基本条件子句检索行的基本查询,并不复杂。这工作正常:
<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: numeric or value error: string buffer too small ORA-06512: at "BANINST1.TJUCATALOG_PACK", line 519
这可能是一个需要包含字段“术语”的视图,还是我完全不知道这里还有其他东西在起作用?