1

ストアドプロシージャでこの以下の部分を使用していますが、エラーがスローされます。-エラーレポート:

ORA-00923: FROM keyword not found where expected

問題は、私が太字で強調表示した行のスペースを含む列名にあります。文字列の連結に問題があります。

//Evt_label has varchar values with spaces eg. Stack OverFlow

select TYT_LIBELLE into evt_label from trb_type_trv where tyt_id= x.tyt_id;     

 ***sql_Columns := sql_Columns ||',T_"'|| evt_label||'"Total'||vTytCnt;***

//Error Comes when i execute this line

select sql_Columns from table1; 
4

2 に答える 2

2

EXECUTE IMMEDIATE以下のように使用する必要があります。

//Evt_label has varchar values with spaces eg. Stack OverFlow

select TYT_LIBELLE into evt_label from trb_type_trv where tyt_id= x.tyt_id;     

 sql_comm := 'select '||sql_Columns ||',T_"'|| evt_label||'"Total'||vTytCnt||' from table1';

//Error Comes when i execute this line

EXECUTE IMMEDIATE sql_comm;
于 2013-01-08T07:57:08.523 に答える
0

列名全体を二重引用符で囲む必要がありますが、1つまたは2つの列があるかどうかはわかりません

sql_Columns ||',"T_'|| evt_label||'Total'||vTytCnt||'"

また

sql_Columns ||',"T_'|| evt_label||'","Total'||vTytCnt||'"'
于 2013-01-08T09:02:07.340 に答える