Вопрос : Изменения представления в программе DB2

Hi все,

We использовали программу архивохранилища где мы определили список таблиц необходимо было нужно поместить в архив. Более старый подход был:

1) имело программу COBOL уничтожила от таблиц одно
2), котор таблицы с немногими показателями были уничтожены using одиночный delete. Например DELETE ОТ TABLE_FIRST ГДЕ ДАТА < В НАСТОЯЩЕЕ ВРЕМЯ DATE
3) для таблиц с значительно числом показателей мы имело стрелку fetched показатели. Для каждого показателя после того как я fetched, котор мы бежали delete query.
4) когда FETCH для стрелки побежался, мы fetched 5000 рядков одновременно например FETCH CSR_CURSOR ДЛЯ 5000 РЯДКОВ. Данные хранились в блоке с 5000 рядками. Показатели были прочитаны от блока одного одновременно и delete был выполнен using эти значения. После того как первые 5000 рядков уничтожены, мы fetch следующий блок 5000 на этот год table.
This мы имеем требование в котором мы были спрошены, что извлекаем кодирвоание таблицы специфически трудное от программы. Мы должны создать файл списка содержит список таблицы, котор нужно уничтожить и критерии, котор нужно использовать для пропускания. Это требовало тщательного осмотра к нашей программе. Это будет подход мы имеем для теперь:

1) мы выполняем delete на таблицах в параллели. Программа CL бежится для того чтобы прочитать от файла списка и для каждой таблицы зарегистрированной программой delete будет submitted.
2) программа delete, котор будет динамическая программа DB2 COBOL в мы сперва находим вне главным образом ключ на table.
3) ОТБОРНЫЙ вопрос ПОДГОТОВЛЕН using поля в главным образом key.
4) мы используем SQLDA для того чтобы нагрузить адрес хранения для по-разному комплекта главным образом ключей могут occur.
5) для каждого показателя fetched (using значения th главным образом ключевые), мы бегут заявление DELETE. Заявлением FETCH будет FETCH CSR_CURSOR USING ДИСКРИПТОР: SQLDA.

What, котор я не могу достигнуть using заявление FETCH в point# 5 должно FETCH для 5000 РЯДКОВ. Будет моим вниканием что я получу более лучшее представление если я FETCH в блоках 5000 (это как раз произвольно-пронумерованным мы выбрало) и DELETE бега для каждого из 5000 показателей fetched чем бегущ просто FETCH и ход DELETE для каждого показателя, то возвращен FETCH.
Please советует если я правильно внутри если допустить, что «FETCH в блоке 5000 и DELETE» будет быстре, то «FETCH ВСЕ и DELETE». Если да, как, то будет синтаксисом, котор нужно fetch в блоках при использовании SQLDA descriptor.

Thanks для

Regards
Ali.
помощи заранее. class=

Ответ : Изменения представления в программе DB2

Я думаю это могло быть littlle более легкое чем вы осуществили -- вы можете сделать соединение между 2 таблицами temp и вызвать его после того как вы сделаны:
-- Здесь содержание вашей окончательной таблицы…
Выберите страну Col1 Col2 Col3 Col4 Col5 Col6 Col7 DSTRecID
от DBO.PROC1_TBL
соединение
выберите страну Col1 Col2 Col3 Col4 Col5 Col6 Col7 DSTRecID
от DBO.PROC2_TBL

-- Вы можете ввести его в вашу окончательную таблицу как:
Вставка в dbo.final_table (страну Col1 Col2 Col3 Col4 Col5 Col6 Col7 DSTRecID)
Выберите страну Col1 Col2 Col3 Col4 Col5 Col6 Col7 DSTRecID
от DBO.PROC1_TBL
соединение
выберите страну Col1 Col2 Col3 Col4 Col5 Col6 Col7 DSTRecID
от DBO.PROC2_TBL


Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us