Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Процедура / функция  [new]
nachPro___23-3
Member

Откуда:
Сообщений: 13
Нужна процедура которая переливает данные с одной таблицы в другую, при этом перед заливкой удалять партиции.
в чем ошибка ?

create or replace procedure refresh_tablename
is
v_report_period number;
begin

select to_char((sysdate-1), 'YYYYMM')
into v_report_period_id
from dual;



execute immediate 'alter table schema.table1 truncate partition P' ||v_report_period_id;


insert into schema.table1
(
report_period_id,
column 1
column 2
column 3
column 4
column 5
column 6
column 7
column 8
column 9
column 10
column 11
column 12
column 13
column 14
column 15
date_to
dn_date
)

select distinct v_report_period_id as report_period_id,
column 1
column 2
column 3
column 4
column 5
column 6
column 7
column 8
column 9
column 10
column 11
column 12
column 13
column 14
column 15
date_to
dn_date

from schema2.table2
commit;
end;
7 июн 21, 23:20    [22332597]     Ответить | Цитировать Сообщить модератору
 Re: Процедура / функция  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10215
И что тут неясно?

v_report_period number; -- и где тут _id
begin

select to_char((sysdate-1), 'YYYYMM')
into v_report_period_id
from dual;


Ну а теперь выкинь этот кусок и просто выполни:

execute immediate 'alter table schema.table1 truncate partition P' || to_char(sysdate - 1,'YYYYMM');


SY.
8 июн 21, 02:49    [22332626]     Ответить | Цитировать Сообщить модератору
 Re: Процедура / функция  [new]
nachPro___23-3
Member

Откуда:
Сообщений: 13
SY,

execute immediate 'alter table schema.table1 truncate partition P' || to_char(sysdate - 1,'YYYYMM'); - почему to_char(sysdate...) если мне транкейт поле надо партиции ?


execute immediate 'alter table schema.table1 truncate partition P' ||v_report_period_id;


Но выдает ошибку: ORA01735
8 июн 21, 08:05    [22332644]     Ответить | Цитировать Сообщить модератору
 Re: Процедура / функция  [new]
nachPro___23-3
Member

Откуда:
Сообщений: 13
Можно закрывать
8 июн 21, 10:28    [22332697]     Ответить | Цитировать Сообщить модератору
 Re: Процедура  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19237
nachPro___23-3
в чем ошибка ?

Концептуально ошибочна автоматизация обрезки по имени.
Откройте для себя
partition for()
8 июн 21, 12:12    [22332778]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить