Oracle Pl / sql Выберите сумму (var_col_nm) из var_table_nm; - PullRequest
0 голосов
/ 03 января 2019

Внутри анонимного блока я хочу выполнить следующий оракульный запрос:

Select sum(var_col_nm) from var_table_nm;

Я получаю сообщение об ошибке в этой строке, так как имя таблицы и имя столбца ссылаются на переменную!

Есть ли выход?

Фрагмент кода:

Delare
v_col_nm varchar2(200);
v_table_nm varchar2(200);
Begin
   For j in (select col_nm1,col_nm2 from table) loop
         v_table_nm:=j.col_nm1;
         v_col_nm:=j.col_nm2;
         Select sumy(v_col_nm) from v_table_nm; --here I'm getting error.
       Other logic;
End Loop;
End;

1 Ответ

0 голосов
/ 03 января 2019

Вы execute immediate для динамический SQL :

 execute immediate 'Select sum(' 
 || v_col_nm || ') from '  || v_table_nm; 

Как и @AlexPoole, вы, вероятно, должны добавить дополнительную переменную для выбора в результате

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...