Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - [решено] PL/SQL результат цикла записать во временную таблицу

Ответить
Настройки темы
Прочие БД - [решено] PL/SQL результат цикла записать во временную таблицу

Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: Griboed0ff
Дата: 16-02-2022
Доброго времени суток!
Пытаюсь из цикла получить данные в виде таблицы, как если бы это был простой select, но пока получается вывести данные в виде текста в ответе.
описание
Требуется в столбце с ошибками, посчитать сколько каждой ошибки и вывести данные в табличном виде.
Я нашел все уникальные ошибки в столбце; в цикле посчитал сколько каждой;
Код: Выделить весь код
DECLARE 
rrrr  rta.list.request_id%TYPE;
begin    
   dbms_output.enable (buffer_size => NULL);  
  FOR jj IN (select distinct result_detail from rta.list where system_date>='16.02.2022' and operation_error='ERROR')
   loop 
      select count(result_detail) into rrrr from rta.list where result_detail=jj.result_detail and system_date>='16.02.2022';
      dbms_output.put_line(rrrr||'::::'||jj.result_detail);
   end loop;
  
end;
ответ

1365::::ERROR:500
219::::ERROR:400
8416::::ERROR:11
223::::ERROR:138

Не могу придумать как записывать эти данные во временную таблицу, чтобы ответом на весь скрипт была таблица с данными, а не тест в консоли.
Требуется это для передачи полученной таблицы скрипту powershell и дальнейшей обработки. Просто как-нибудь поймать вывод без таблицы в powershell не могу.

Отправлено: 11:05, 16-02-2022

 

Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


смог записать во временную таблицу, но не удается никуда после цикла вставить select, чтобы ответом на скрипт была таблица
Код: Выделить весь код
drop table qqqqqqq;
create global temporary table qqqqqqq
( ncount number,
  rerror varchar (1000))
  on commit delete rows; 
DECLARE 
rrrr  rta.list.request_id%TYPE;
begin    
   dbms_output.enable (buffer_size => NULL);  
  FOR jj IN (select distinct result_detail from rta.list where system_date>='16.02.2022' and operation_error='ERROR')
  loop 
      select count(result_detail) into rrrr from rta.list where result_detail=jj.result_detail and system_date>='16.02.2022';
      Insert into qqqqqqq(ncount,rerror) values (rrrr,jj.result_detail);
      --dbms_output.put_line(rrrr||'::::'||jj.result_detail);
   end loop;
end;
--select * from qqqqqqq;
после end не удается вставить, а до требуется вставить в select into, который мне не нужен.

Отправлено: 12:52, 16-02-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Оказалось все просто:
Код: Выделить весь код
drop table qqqqqqq;
create global temporary table qqqqqqq
( ncount number,
  rerror varchar (1000))
  on commit delete rows; 
DECLARE 
rrrr  rta.list.request_id%TYPE;
begin    
   dbms_output.enable (buffer_size => NULL);  
  FOR jj IN (select distinct result_detail from rta.list where system_date>='16.02.2022' and operation_error='ERROR')
  loop 
      select count(result_detail) into rrrr from rta.list where result_detail=jj.result_detail and system_date>='16.02.2022';
      Insert into qqqqqqq(ncount,rerror) values (rrrr,jj.result_detail);
      --dbms_output.put_line(rrrr||'::::'||jj.result_detail);
   end loop;
end;
/
select * from qqqqqqq;
Почему-то нигде не написано, что нужен слеш между end и следующей командой.

Отправлено: 13:49, 03-03-2022 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - [решено] PL/SQL результат цикла записать во временную таблицу

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Как произвести запись файла во временную пользовательскую teemp папку на vbs? Артём.Прохорович@vk Скриптовые языки администрирования Windows 1 27-01-2019 09:46
Прочие БД - Проблемы с созданием и вызовом PL/SQL процедур в oracle XE ElVоvan Программирование и базы данных 4 13-06-2008 14:44
ответы на задания по курсу ORACLE PL/SQL Vlad Drakula Программирование и базы данных 2 25-05-2006 09:16
pl/sql modem Программирование и базы данных 11 25-01-2004 21:07
Файлы сохраняются во временную папку Sakura Microsoft Windows 95/98/Me (архив) 1 02-01-2004 16:54




 
Переход