Родительские и дочерние таблицы
На страницу Пред. 1, 2, 3
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
devor Профи
Вступление в Клуб: 13.02.2012
|
Ср Янв 30, 2013 10:48   |
|
Полезность: Нет оценки
|
yaffil пишет: | А так тоже самое будет?:
Код: |
for (FIS_EXPORT_DEL in ::[FIS_EXPORT] where FIS_EXPORT_DEL.[CREDIT_ID] in (1,2,7,9)
)loop
::[STR_CHART].[DELETE_AUTO];
end loop;
|
Т.е. удалятся все записи с CREDIT_ID in (1,2,7,9), а остальные остануться. |
1)Деструктор это простая операция, в нее нужно передавать экземпляр.
2)А почему цикл по FIS_EXPORT, а операция из ::[STR_CHART]? ::[STR_CHART] - это родительская структура?
Тогда так должно быть
Код: |
for (FIS_EXPORT_DEL in ::[FIS_EXPORT] where FIS_EXPORT_DEL.[CREDIT_ID] in (1,2,7,9)
)loop
FIS_EXPORT_DEL.[DELETE_AUTO];
end loop;
|
|
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Янв 30, 2013 11:06   |
|
Полезность: Нет оценки
|
Да это я не увидел сначала, поправил
В твоём примере FIS_EXPORT_DEL.[DELETE_AUTO]; тоже экземпляр явно не передаётся. Надо передавать id или компилятор сам поймет что он в цикле по записям и соответствующую удалит. |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Ср Янв 30, 2013 11:09   |
|
Полезность: Нет оценки
|
yaffil пишет: | Да это я не увидел сначала, поправил
В твоём примере FIS_EXPORT_DEL.[DELETE_AUTO]; тоже экземпляр явно не передаётся. Надо передавать id или компилятор сам поймет что он в цикле по записям и соответствующую удалит. |
FIS_EXPORT_DEL - это и есть текущий экземпляр в цикле (курсоре). |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Янв 30, 2013 11:13   |
|
Полезность: Нет оценки
|
Ааа точно, нашел разницу
Спасибо. Уже мозг едет от этого хранилища, е его выгибонами в части входящих данных для загрузки. |
|
 |
SS Участник
Вступление в Клуб: 25.01.2013
|
Ср Янв 30, 2013 11:40   |
|
Полезность: Нет оценки
|
Random пишет: | Я пытался прикрутить GG, и пытаюсь до сих пор, но есть причины, по которым это достаточно сложно.
А вот для себя лично: поделитесь опытом настройки GG чтоб вывод был во flat-files? |
К сожалению не поделюсь, прикручиванием GG занимаются дба, я занимаюсь кодом. |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пт Фев 01, 2013 07:51   |
|
Полезность: 1
|
yaffil пишет: | Random пишет: |
То есть нет доступа к АРМ Администратор?
|
Только туды и есть, но там создаются объекты схемы, за которые надо платить А если, например через Девелопер или SQL навигатор какой-нибудь создавать таблицы, то за них платить не надо.
З.Ы. все вроде нормально отрабатывает с такой структурой и довольно таки быстро. |
Хе-хе! Создаём операцию OPER1
function CreateTable return boolean is begin
execute immediate 'create table aaa as select * from z#ac_fin';
return true;
end;
Создаём операцию OPER2:
--#if [].[OPER1].CreateTable
--#end if
select a(a.[id]) in aaa%rowtype where 1=1;
Только не забудьте про флаг "Расширенный синтаксис". |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пт Фев 01, 2013 08:51   |
|
Полезность: Нет оценки
|
Следующим ходом злобной империи ЦФТ станет тарифный план "расширенный" - 100 у.е. за галку
 |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Пт Фев 01, 2013 10:19   |
|
Полезность: Нет оценки
|
Random пишет: |
Хе-хе! Создаём операцию OPER1
function CreateTable return boolean is begin
execute immediate 'create table aaa as select * from z#ac_fin';
return true;
end;
Создаём операцию OPER2:
--#if [].[OPER1].CreateTable
--#end if
select a(a.[id]) in aaa%rowtype where 1=1;
Только не забудьте про флаг "Расширенный синтаксис". |
Ну, это уже мазахизмом попахивает немного Создавать операции, которые будут создавать таблицы, да ещё на базе аутсортинговой системы находящейся в Новсибирске.  |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Вт Фев 05, 2013 09:55   |
|
Полезность: Нет оценки
|
yaffil пишет: | Ну, это уже мазахизмом попахивает немного Создавать операции, которые будут создавать таблицы, да ещё на базе аутсортинговой системы находящейся в Новсибирске.  |
Не, это попахивает гениальностью
Такие таблицы создаются в момент компиляции операции, значит, к моменту установки pl/sql-пакета на схему, будут созданы, ошибок нет.
Создаются под владельцем схемы, а не под пользователем, который их запустит.
Нет никаких инструкций, всё работает само.
Нет влияний человеческого фактора, типа, вдруг пользователь забудет запустить операцию конвертации.
Потом, то же самое можно применить к пакетам, текст которых можно хранить в справочнике. И всё - работай себе с pl/sql-ными пакетами, таблицами, и не грей голову над загромождением модели данных |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|