Документация iSZN

pkMigrate2Pg.sql

Корпоративная Информационная Система iSZN

CountTableRecords

PROCEDURE CountTableRecords(
  iTableID PLS_INTEGER, iServerMode PLS_INTEGER, iTargetRgnID PLS_INTEGER, iiRegionIDs uszn.TIntegerList,
  iTaskRecID PLS_INTEGER, RecCountInfo OUT TTableRecCountInfo,
  hLog IN OUT NOCOPY UTL_FILE.File_Type, iLevel PLS_INTEGER);
 
-- Экспортирует данные таблицы в файл SQL-сценария для загрузки в PostgreSQL.
-- Параметры:
--   iTableID       - ID таблицы в таблице u_tables;
--   iServerMode    - режим экспорта данных: 1 - Сервер разработки, 2 - Рабочий сервер;
--   iTargetRgnID   - ID целевого района-папки;
--   iiRegionIDs    - список ID рабочих районов, для которых выполняется выгрузка;
--   iAddDeleteStmt - добавлять ли выражение DELETE для удаления существующих данных (0/1);
--   iReadBatchSize - количество записей в блоке при массовой выборке;
--   iInsBatchSize  - размер блока INSERT в записях;
--   iInsBatchLimit - максимальный размер блока INSERT в байтах;
--   iRecsPerFile   - ограничение на размер формируемого файла в записях;
--   iMaxFileSize   - ограничение на размер формируемого файла в байтах;
--   iTaskRecID     - ID записи аудита серверной операции;
--   sRemoteDir     - имя каталога (utl_file_dir);
--   iTotalRecCount - общее количество экспортируемых записей из всех таблиц (для отображения прогресса);
--   RecCountInfo   - информация о количестве записей в таблице;

Описание

Подсчитывает количество записей в таблице.

  • Параметры:
  • iTableID - ID таблицы в таблице u_tables;
  • iServerMode - режим экспорта данных: 1 - Сервер разработки, 2 - Рабочий сервер;
  • iTargetRgnID - ID целевого района-папки;
  • iiRegionIDs - список ID рабочих районов, для которых выполняется выгрузка;
  • iTaskRecID - ID записи аудита серверной операции;
  • RecCountInfo - результаты подсчёта;
  • hLog - файл протокола;
  • iLevel - начальный уровень отступа в протоколе.

ExportTableData

PROCEDURE ExportTableData(
  iTableID PLS_INTEGER,
  iServerMode PLS_INTEGER, iTargetRgnID PLS_INTEGER, iiRegionIDs uszn.TIntegerList, iAddDeleteStmt PLS_INTEGER,
  iReadBatchSize PLS_INTEGER, iInsBatchSize PLS_INTEGER, iInsBatchLimit PLS_INTEGER,
  iRecsPerFile PLS_INTEGER, iMaxFileSize PLS_INTEGER,
  iTaskRecID PLS_INTEGER, sRemoteDir VARCHAR2,
  iTotalRecCount INTEGER, RecCountInfo TTableRecCountInfo,
  iExpTableCount IN OUT NOCOPY PLS_INTEGER, iRecCountDone IN OUT NOCOPY INTEGER,
  hLog IN OUT NOCOPY UTL_FILE.File_Type, iLevel IN OUT NOCOPY PLS_INTEGER);
 
END;
 
/
CREATE OR REPLACE PACKAGE BODY uszn.pkMigrate2Pg IS
 
-- Информация о параметрах экспорта таблицы
TYPE TTableExportInfo IS RECORD(
  iTableID        PLS_INTEGER,             -- ID таблицы в u_tables
  sTableName      VARCHAR2(30),            -- имя таблицы
  iIsInstanceSpec PLS_INTEGER,             -- является ли таблица instance specific (0/1)
  iIsForDev       PLS_INTEGER,             -- таблица выгружается с сервера разработки (0/1)

Описание

Экспортирует данные таблицы в файл SQL-сценария для загрузки в PostgreSQL.
Параметры:

  • iTableID - ID таблицы в таблице u_tables;
  • iServerMode - режим экспорта данных: 1 - Сервер разработки, 2 - Рабочий сервер;
  • iTargetRgnID - ID целевого района-папки;
  • iiRegionIDs - список ID рабочих районов, для которых выполняется выгрузка;
  • iAddDeleteStmt - добавлять ли выражение DELETE для удаления существующих данных (0/1);
  • iReadBatchSize - количество записей в блоке при массовой выборке;
  • iInsBatchSize - размер блока INSERT в записях;
  • iInsBatchLimit - максимальный размер блока INSERT в байтах;
  • iRecsPerFile - ограничение на размер формируемого файла в записях;
  • iMaxFileSize - ограничение на размер формируемого файла в байтах;
  • iTaskRecID - ID записи аудита серверной операции;
  • sRemoteDir - имя каталога (utl_file_dir);
  • iTotalRecCount - общее количество экспортируемых записей из всех таблиц (для отображения прогресса);
  • RecCountInfo - информация о количестве записей в таблице;
  • iExpTableCount - количество таблиц, данные которых подлежали выгрузке;
  • iRecCountDone - количество выгруженных записей;
  • hLog - файл протокола;
  • iLevel - начальный уровень отступа в протоколе.