SQL 계획을 계획 테이블에로드 할 때 오류가 발생합니다. 누구든지 나를 도울 수 있습니까? 내가 오라클 EM에서 select 문을 붙여 복사하기 때문에최적화 된 SQL 실행을로드하는 중에 ORA 00907을 수신했습니다. 계획 테이블에 계획을
[email protected]> @xplan.sql
((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /*
*
ERROR at line 22:
ORA-00907: missing right parenthesis
[email protected]> host cat xplan.sql
explain plan into
plan_table
for
SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' ||
t2.pg_featurevalue_13_id pg_featurevalue_13_id, 'B' ||
t2.pg_featurevalue_02_id pg_featurevalue_02_id, 'r' ||
t4.elementrange_id pg_featurevalue_15_id, 'B' ||
t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'B' ||
t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' ||
t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id
productgroup_id, 'G' || t6.elementgroup_id period_id,
SUM(t1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_eur)
salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3,
lu_elementrange_rel t4, fact_pd_out_itm_293 t1,
lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute
Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND
t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND
(t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND
(t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND
(t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND
(t1.period_id = t6.value_id) ) /* Attribute Filters */ AND
((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /*
Push Down Filters */ AND (t2.pg_featurevalue_01_id IN
(103,104,107,110,113,134,148,167,171,186,192,216,2259,236,241,2477,24958
,27445,297,3891,71,76,89,92,95)) AND (t2.pg_featurevalue_08_id IN
(716,717)) AND (t2.pg_featurevalue_02_id IN (4165,4166)) AND
(t2.pg_featurevalue_13_id = 5424) AND (t4.elementrange_id IN
(3091,3092)) AND (t5.elementrange_id IN
(8658,8659,8660,8661,8662,8663,8664)) AND (t6.elementgroup_id =
14659) AND (t1.period_id IN (20030699999060,20030799999030,2003079999
9060,20030799999120)) /* Resolved ElementGroup Filters */ ) /*
Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY
t2.pg_featurevalue_13_id, t2.pg_featurevalue_02_id,
t4.elementrange_id, t2.pg_featurevalue_08_id,
t2.pg_featurevalue_01_id, t5.elementrange_id,
t2.productgroup_id, t6.elementgroup_id;
[email protected]>
어떤 괄호 문제가있을 수 없습니다 다음은 내 코드입니다. sqls 문이 너무 길기 때문에 명령 줄의 기본 모드에서 v $ sql이 모든 sql_txt를 포착 할 수 없기 때문에 set linesize를 사용하여 sql_txt 열을 변경하는 것에 대해 들어 봤습니다. 그러나 나는 그것을 어떻게 바꿀 것인지 정확히 모른다. 누군가 나를 도울 수 있는가? 고마워요!
을 실행하다. 환경 콘솔 출력을 제거하거나 다른 콘솔로 이동하십시오. 또한 출력에 표시된대로 프로덕션 시스템에서 직접 이해할 수없는 쿼리를 실제로 실행하려고하지 않기를 바랍니다. – gmiley
아니요, 이것은 프로덕션 데이터베이스가 아닌 자체 랩 환경에 있습니다. 모든 SQL 문을 실행하려고하지 않고 최적화 된 SQL 실행 계획을 계획 테이블에로드하려고합니다. – Lily
질문을 쉽게 처리 할 수 있도록 * 프로덕션 데이터베이스 *가 필요하지 않습니다. 지금 우리가 보는 모든 것은 뒤죽박죽이다. 질문을보다 간결하게 만드십시오. – Jerrybibo