Home » SQL & PL/SQL » SQL & PL/SQL » Error(17,5): PL/SQL: ORA-00905: missing keyword (oracle 10.2)
Error(17,5): PL/SQL: ORA-00905: missing keyword [message #593308] |
Thu, 15 August 2013 10:50  |
 |
candace
Messages: 6 Registered: August 2013 Location: USA
|
Junior Member |
|
|
Can any one of you please help me with this
i need to get values from lookup table dynamically,i am getting the missing keyword error please let me know what I am missing
Appreciate your help.
create or replace procedure xyz(cur1 OUT SYS_REFCURSOR)
AS
vsql varchar2(2000);
CURSOR CURSOR1 is SELECT DQS_SRC_COL_NM,LDIC_SEQUENCE FROM look_up WHERE LDIC_SOR ='friend';
BEGIN
OPEN cur1 FOR
select exc_val.source_sys ,exc_val.excptn_row_seq_num,
(CURSOR1(
case when CURSOR1.LDIC_SEQUENCE = 1 then
vsql:= vsql+'case when exc_val.COL_NM='' '||CURSOR1.DQS_SRC_COL_NM||' then exc_val.COL_DATA_VAL else null end ',
when CURSOR1.LDIC_SEQUENCE = 2 then
vsql := vsql+'case when exc_val.COL_NM='''+CURSOR1.DQS_SRC_COL_NM+''' then exc_val.COL_DATA_VAL else null end ',
when CURSOR1.LDIC_SEQUENCE = 3 then
vsql := vsql+'case when exc_val.COL_NM='''+CURSOR1.DQS_SRC_COL_NM+''' then exc_val.COL_DATA_VAL else null end ',
when CURSOR1.LDIC_SEQUENCE = 4 then
vsql := vsql+'case when exc_val.COL_NM='''+CURSOR1.DQS_SRC_COL_NM+''' then exc_val.COL_DATA_VAL else null end ',
END)
)
exc.EXCPTN_STAT_CD ,
exc_val.COL_DATA_VAL,
br.TITLE,
exc_val.CREATED_ON ,
exc_val.MODIFIED_ON
from T_one exc
INNER JOIN T_two exc_val
ON exc.excptn_row_seq_num = exc_val.excptn_row_seq_num
inner join T_three br on br.bus_rule_key = exc_val.bus_rule_key
where exc_val.ofndg_col_ind = 'N'
and exc_val.source_sys = 'friend'
order by exc_val.excptn_row_seq_num;
end;
*BlackSwan added {code} tags. Please do so yourself in the future.
[Updated on: Thu, 15 August 2013 10:56] by Moderator Report message to a moderator
|
|
|
|
|
|
Re: Error(17,5): PL/SQL: ORA-00905: missing keyword [message #593315 is a reply to message #593312] |
Thu, 15 August 2013 11:08   |
 |
candace
Messages: 6 Registered: August 2013 Location: USA
|
Junior Member |
|
|
CREATE TABLE look_up
( "LDIC_SOR" VARCHAR2(10 BYTE),
"LDIC_SYS_ID" VARCHAR2(50 BYTE),
"DQS_SRC_TAB_NM" VARCHAR2(50 BYTE),
"DQS_SRC_COL_NM" VARCHAR2(50 BYTE),
"LDIC_SEQUENCE" VARCHAR2(50 BYTE),
"LDIC_SRC_TAB_NM" VARCHAR2(50 BYTE),
"LDIC_SRC_COL_NM" VARCHAR2(50 BYTE),
"ADTNL_PROCESSING_FLAG" VARCHAR2(1 BYTE),
"DQS_SOR" VARCHAR2(50 BYTE),
"DQS_SYS_ID" VARCHAR2(50 BYTE),
"LDIC_LOOKUP_TAB_NM" VARCHAR2(50 BYTE),
"LDIC_LOOKUP_COL_NM" VARCHAR2(50 BYTE)
)
SET DEFINE OFF;
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','OBGN_NUM','4','T_LDIC_STAGE_LOAN_INFO','OBGN_NUM','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','CUST_FAC','1','T_LDIC_STAGE_LOAN_INFO','CUSTOMER_FACILITY','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','FAC_NUM','2','T_LDIC_STAGE_LOAN_INFO','FACILITY_NUM','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','CUST_NUM','3','T_LDIC_STAGE_LOAN_INFO','OBLIGOR_NUMBER','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_CUSTOMER','COD_CID_CUST_ID','4','T_LDIC_STAGE_LOAN_INFO','OBLIGOR_NUMBER','N','friend','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_FACILITY','FOD_PID_FACILITY','2','T_LDIC_STAGE_LOAN_INFO','FACILITY_NUM','Y','friend','N/A','V_IHUB_LIQ_LN_ST G_FACILITY',null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_OUTSTANDING','OOD_RID_OUTSTANDNG','3','T_LDIC_STAGE_LOAN_INFO','OBGN_NUM','Y','friend','N/A','V_IHUB_LIQ_LN_S TG_FACILITY',null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_CUSTOMER','COD_CID_CUST_ID','1','T_LDIC_STAGE_LOAN_INFO','CUSTOMER_FACILITY','N','friend','N/A',null,null);
[Updated on: Thu, 15 August 2013 11:10] Report message to a moderator
|
|
|
|
|
Re: Error(17,5): PL/SQL: ORA-00905: missing keyword [message #593319 is a reply to message #593317] |
Thu, 15 August 2013 11:18   |
 |
BlackSwan
Messages: 26766 Registered: January 2009 Location: SoCal
|
Senior Member |
|
|
SQL> Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','OBGN_NUM','4','T_LDIC_STAGE_LOAN_INFO','OBGN_NUM','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_S YS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','OBGN_NUM','4','T_LDIC_STAGE_LOAN_INFO','OBGN_NUM','N','AFS','N/A',null,null)
*
ERROR at line 1:
ORA-00917: missing comma
it appears that line break messed up the INSERT statements
[Updated on: Thu, 15 August 2013 11:22] Report message to a moderator
|
|
|
Re: Error(17,5): PL/SQL: ORA-00905: missing keyword [message #593321 is a reply to message #593319] |
Thu, 15 August 2013 11:29   |
 |
candace
Messages: 6 Registered: August 2013 Location: USA
|
Junior Member |
|
|
SET DEFINE OFF;
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','OBGN_NUM','4','T_LDIC_STAGE_LOAN_INFO','OBGN_NUM','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','CUST_FAC','1','T_LDIC_STAGE_LOAN_INFO','CUSTOMER_FACILITY','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','FAC_NUM','2','T_LDIC_STAGE_LOAN_INFO','FACILITY_NUM','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('AFS','AFS3','AFS_COMBINED_REC','CUST_NUM','3','T_LDIC_STAGE_LOAN_INFO','OBLIGOR_NUMBER','N','AFS','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_CUSTOMER','COD_CID_CUST_ID','4','T_LDIC_STAGE_LOAN_INFO','OBLIGOR_NUMBER','N','friend','N/A',null,null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_FACILITY','FOD_PID_FACILITY','2','T_LDIC_STAGE_LOAN_INFO','FACILITY_NUM','Y','friend','N/A','V_IHUB_LIQ_LN_STG_FACILITY',null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_OUTSTANDING','OOD_RID_OUTSTANDNG','3','T_LDIC_STAGE_LOAN_INFO','OBGN_NUM','Y','friend','N/A','V_IHUB_LIQ_LN_STG_FACILITY',null);
Insert into look_up (LDIC_SOR,LDIC_SYS_ID,DQS_SRC_TAB_NM,DQS_SRC_COL_NM,LDIC_SEQUENCE,LDIC_SRC_TAB_NM,LDIC_SRC_COL_NM,ADTNL_PROCESSING_FLAG,DQS_SOR,DQS_SYS_ID,LDIC_LOOKUP_TAB_NM,LDIC_LOOKUP_COL_NM) values ('friend','friend','LIQ_CUSTOMER','COD_CID_CUST_ID','1','T_LDIC_STAGE_LOAN_INFO','CUSTOMER_FACILITY','N','friend','N/A',null,null);
|
|
|
|
|
|
|
|
Re: Error(17,5): PL/SQL: ORA-00905: missing keyword [message #593332 is a reply to message #593328] |
Thu, 15 August 2013 12:23  |
 |
candace
Messages: 6 Registered: August 2013 Location: USA
|
Junior Member |
|
|
please see the procedure with ****
DQS_SRC_COL_NM column values for vsql
if SELECT LDIC_SOR,DQS_SRC_COL_NM,LDIC_SEQUENCE FROM look_up WHERE LDIC_SOR ='friend'
then
create or replace procedure xyz(cur1 OUT SYS_REFCURSOR)
AS
vsql varchar2(2000);
CURSOR CURSOR1 is SELECT DQS_SRC_COL_NM,LDIC_SEQUENCE FROM look_up WHERE LDIC_SOR ='friend';
BEGIN
OPEN cur1 FOR
select exc_val.source_sys ,exc_val.excptn_row_seq_num,
(CURSOR1(
case when CURSOR1.LDIC_SEQUENCE = 1 then
*****vsql:= COD_CID_CUST_ID,
vsql:= FOD_PID_FACILITY,,
vsql:= OOD_RID_OUTSTANDNG,
vsql:= COD_CID_CUST_ID,*****
when CURSOR1.LDIC_SEQUENCE = 2 then
vsql := vsql+'case when exc_val.COL_NM='''+CURSOR1.DQS_SRC_COL_NM+''' then exc_val.COL_DATA_VAL else null end ',
when CURSOR1.LDIC_SEQUENCE = 3 then
vsql := vsql+'case when exc_val.COL_NM='''+CURSOR1.DQS_SRC_COL_NM+''' then exc_val.COL_DATA_VAL else null end ',
when CURSOR1.LDIC_SEQUENCE = 4 then
vsql := vsql+'case when exc_val.COL_NM='''+CURSOR1.DQS_SRC_COL_NM+''' then exc_val.COL_DATA_VAL else null end ',
END)
)
exc.EXCPTN_STAT_CD ,
exc_val.COL_DATA_VAL,
br.TITLE,
exc_val.CREATED_ON ,
exc_val.MODIFIED_ON
from T_one exc
INNER JOIN T_two exc_val
ON exc.excptn_row_seq_num = exc_val.excptn_row_seq_num
inner join T_three br on br.bus_rule_key = exc_val.bus_rule_key
where exc_val.ofndg_col_ind = 'N'
and exc_val.source_sys = 'friend'
order by exc_val.excptn_row_seq_num;
end;
|
|
|
Goto Forum:
Current Time: Sun Jul 20 21:42:46 CDT 2025
|