Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1
  • 2
  • 3

ТЕМА:

Re: Закрытие курсора в динамическом SQL 12 года 9 мес. назад #1774

  • Doz
  • Doz аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Спасибо получено: 0
Что то типа
begin
for cRec in (select table_name from cfg_buf_tables)
LOOP
execute immediate 'truncate table '||cRec.table_name;
END LOOP;
end;

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Закрытие курсора в динамическом SQL 12 года 9 мес. назад #1775

а где и когда это блок вызывается?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Закрытие курсора в динамическом SQL 12 года 9 мес. назад #1776

Да не может быть в твоем "что то типа" такой ошибки.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Закрытие курсора в динамическом SQL 12 года 9 мес. назад #1777

  • Doz
  • Doz аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Спасибо получено: 0
Вот такая процедура, Ее я вызываю в цикле как показывал ранее.. У меня вылетает ошибка
ВНИМАНИЕ: Спойлер!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Закрытие курсора в динамическом SQL 12 года 9 мес. назад #1778

create or replace procedure truncate_table (p_table_name varchar2) as
truncate_table (p_table_name => i.table_name);
Скорее всего где то зацикливание

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Закрытие курсора в динамическом SQL 12 года 9 мес. назад #1779

Это из документации
Each user session can open multiple cursors up to the limit set by the initialization parameter OPEN_CURSORS. However, applications should close unneeded cursors to conserve system memory. If a cursor cannot be opened due to a limit on the number of cursors, then the database administrator can alter the OPEN_CURSORS initialization parameter.

Some statements (primarily DDL statements) require Oracle to implicitly issue recursive SQL statements, which also require recursive cursors. For example, a CREATE TABLE statement causes many updates to various data dictionary tables to record the new table and columns. Recursive calls are made for those recursive cursors; one cursor can run several recursive calls. These recursive cursors also use shared SQL areas.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3
Время создания страницы: 0.293 секунд