@Raushka

Как посредством цикла обновлять данные с одной таблицы в другую таблицу используя динамический sql?

Все привет, ребят!
Можете помочь в решении задачи (Необходимо из таблицы general_table обновить данные в таблице tablenew)
declare
  tablename varchar(255) := 'CoolTable';
tablenew varchar(255);
BEGIN
  select functable (tablename) into tablenew from dual;  --возвращает наличие таблицы 
  for rec in (select g.acode, g.clcode  from general_table g ) loop
 if tablename is not null then
execute immediate 'update ' || tablenew || ' set accli = ' || rec.acode || ', clcode= ' || rec.clcode || ''; --данные из таблы general_table обновляются в таблице tablename
end if;
end loop;
end;


Получается что, в таблице tablenew обновляются все поля одним и тем же полем из цикла. Как лучше в коде прописать, чтобы из таблицы general_table обновлялись все поля в таблице tablenew ? Заранее благодарю!
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
@rPman
добавить в запрос update условие where ' || tablenew || '.id=' || tablename.id || ', если id там числовой (если строковый или бинарный то подумать как правильно значения передать через переменные или как то экранировать опасные символы)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы