Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Dimitry Sibiryakov
Хммм... Переход на личности... В ФИДО это был бы верный признак, что дискуссия слита и её можно пристрелить.

За пристреливанием дискуссии в ФИДО я бы понаблюдал с отдельным интересом Переход же на личности состоялся не позже чем в 22202586, так что оттирайте зеркало.
23 сен 20, 17:57    [22202885]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
softwarer,

Да мы и от темы исходной как-то сильно в частности пакетов ушли. Хотя именно в плане перехода - пакеты действительно создают наибольшую сложность, т.к. всю инкапсулированную логику приходится нарезать между схемами или выносить из бд.

Возвращаясь к теме, насколько я помню, в postgresql более сложным образом реализовано секционирование и нет автоматического интервального и списочного создания новых секций. С другой стороны - это платная опция в Oracle и в "дешёвых" редакциях недоступна даже за деньги.
23 сен 20, 18:01    [22202890]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Тема миграции из Oracle в PostgreSQL вешь интересная, но если обсуждать, то как-то более конкретно. Что за проект, какой объем кода, что за клиент, какие функции Oracle отсутствовали в PostgreSQL, как удалось извернуться.... был ли какой-то плюс от перехода или наоборот

но данная тема и троллинг про пакеты - на вменяемое обсуждение проблем миграции реальных приложений не тянет
23 сен 20, 18:05    [22202896]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Вроде в PostgreSQL еще нет autonomous transaction
23 сен 20, 18:07    [22202902]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Leonid Kudryavtsev
но если обсуждать, то как-то более конкретно

Проблема в том, что конкретно-то обсуждать как бы и нечего, поскольку практическая
миграция сильно зависит от практически используемых фич (ваш Кэп) и замена одних
конкретных фич на другие конкретные фичи легко гуглится. В частности те же автономные
транзакции эмулируются через линк на себя.

Проблемы в основном возникают у особо упёртых библиотек, где "делаем именно так или никак"
и у приложений, где доступ к БД размазан тонким слоем по всем модулям. Опять же, ваш Кэп.

Posted via ActualForum NNTP Server 1.5

23 сен 20, 18:20    [22202917]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Dimitry Sibiryakov

Проблема в том, что конкретно-то обсуждать как бы и нечего, поскольку практическая
миграция сильно зависит от практически используемых фич
....
и у приложений, где доступ к БД размазан тонким слоем по всем модулям. Опять же, ваш Кэп.

Ну вот у нас он не размазан. Все в одном месте (в базе)

В Oracle более 707 штук пакетов (реально даже больше)

Обычно пакеты по тысяча - 3 тысячи строк кода. Кол-во процедур/функций - не знаю

Т.е. примерно миллион строк кода на PL/SQL

Я конечно понимаю, что пакеты можно преобразовать в 707 разных схем, вместо автономных транзакций наделать DbLink'ов, а все остальное просто просмотреть глазами и переписать

Но нафига это надо - не понятно.

AFAIK
23 сен 20, 18:39    [22202948]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Leonid Kudryavtsev
Но нафига это надо - не понятно.

Вот именно. Первый и главный проклятый вопрос при миграции.

У коробочных продуктов ещё есть повод: "поддержав СУБД Х в дополнение к СУБД У мы расширим
рынок нашего продукта на Й процентов", но мигрировать самописную систему...

Posted via ActualForum NNTP Server 1.5

23 сен 20, 18:47    [22202953]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Dimitry Sibiryakov
но мигрировать самописную систему...

Тоже могут быть основания. Например, ликвидация зоопарка. А зоопарк мог появиться, например, при покупке другой конторы.
23 сен 20, 18:54    [22202959]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
istrebitel
Member

Откуда:
Сообщений: 137
Один пакет - одна подсистема
+Константы и пакетные переменные
CREATE OR REPLACE 
PACKAGE syn_sap
  IS
TYPE t_errs IS TABLE OF syn_errors%ROWTYPE INDEX BY pls_integer;

resource_busy EXCEPTION;
PRAGMA EXCEPTION_INIT (resource_busy, -54);

erNotFoundKATMC CONSTANT    NUMBER (5)  := -20100; -- Not found record in KATMC
erCantNextFNUM  CONSTANT    NUMBER(5)   := -20101; -- Cannot get next FNUM
erNotFoundSPKAU CONSTANT    NUMBER (5)  := -20102; -- Not found record in SPKAU


PREFIX_BAR      CONSTANT    VARCHAR2(4) := 'КСМ_';  -- Префикс для баркода МЦ при импорте в галактику.
PREFIX_MCGR     CONSTANT    VARCHAR2(2) := 'R_';    -- Префикс для кода групп МЦ при импорте в галактику.
DEF_GRNAL       CONSTANT    VARCHAR2(16):= '800100000000000A'; -- Группа налогов "Основная 20 % c 01.01.04 18%"
-- Константы ошибок
erNewDoubl      CONSTANT    NUMBER := 1; -- E Дублирование MATNUM в SYN_NEW
wrKsmDoubl      CONSTANT    NUMBER := 2; -- E Материал с таким кодом уже существует в КСМ
erKsmNFound     CONSTANT    NUMBER := 3; -- E Материал с таким кодом отсутствует в КСМ
erEuNFound      CONSTANT    NUMBER := 4; -- E Не найдено соответствие единицы измерения
wrGrMcNFound    CONSTANT    NUMBER := 5; -- W Не найдена группа МЦ с кодом
erKatMcNFound   CONSTANT    NUMBER := 6; -- E Не найдена запись в KATMC
erEuChange      CONSTANT    NUMBER := 7; -- E Изменение единицы измерения у существующей записи
wrMcNameChange  CONSTANT    NUMBER := 8; -- W Изменение наименования МЦ
wrGrMcChange    CONSTANT    NUMBER := 9; -- W Изменение Группы МЦ
wrMcFullnameEr  CONSTANT    NUMBER := 10;  -- W Ошибка присвоения варианта наименования вар1
erKatMcDoubl    CONSTANT    NUMBER := 11;  -- E Материал с таким кодом уже существует в KATMC

erGrMcDoubl     CONSTANT    NUMBER := 12;  -- E Группа с таким кодом уже существует в GROUPMC
erGrMcNFound    CONSTANT    NUMBER := 13;  -- E Не найдена запись в GROUPMC
erGrMcDoublName CONSTANT    NUMBER := 14;  -- E Не удалось создать группу (постфикс не помещается или все цифры заняты)
wrGrMcDoublName CONSTANT    NUMBER := 15;  -- W Наименование группы было изменено из за дублирования

cATTRVAR1       CONSTANT    VARCHAR2(16) := '8001000000000167'; -- Внешний атрибут вар1 пользовательской аналитики

-- Коды таблиц
tblX$USERS		CONSTANT	NUMBER(1, 0) := 6; -- Код таблицы X$USERS

tblBASEDOC		CONSTANT	NUMBER(5, 0) := 1102;
tblSPSTEP		CONSTANT	NUMBER(5, 0) := 1104;
tblSPDOCNAL		CONSTANT	NUMBER(5, 0) := 1105;
tblKATSOPR		CONSTANT	NUMBER(5, 0) := 1109;
tblSPSOPR		CONSTANT	NUMBER(5, 0) := 1110;
tblSPORDER		CONSTANT	NUMBER(5, 0) := 1112;
tblSOPRORDB		CONSTANT	NUMBER(5, 0) := 1127;
tblKATPODR		CONSTANT    NUMBER(4, 0) := 1413; -- Код таблицы KATPODR
tblKATPARTY		CONSTANT    NUMBER(4, 0) := 1430;
tblKLVAL		CONSTANT	NUMBER(4, 0) := 1436; -- Код таблицы KLVAL
tblGRNAL		CONSTANT	NUMBER(5, 0) := 1440;
tblDOGOVOR		CONSTANT	NUMBER(4, 0) := 1707; -- Код таблицы DOGOVOR
tblSPKAU        CONSTANT    NUMBER(4, 0) := 8512; -- Код таблицы SPKAU
-- Коды аналитик
cstGrKauPodrs			CONSTANT gal810.spkau.fkodgrkau%TYPE := 2; -- Подразделения
cstGrKauGroupParty		CONSTANT gal810.spkau.fkodgrkau%TYPE := 11; -- Код аналитики Группы партий МЦ
cstGrKauParty			CONSTANT gal810.spkau.fkodgrkau%TYPE := 10; -- Партии МЦ
cstGrKauObjStroy		CONSTANT gal810.spkau.fkodgrkau%TYPE := 40; -- Код аналитики Объекты строительства
cstGrKauVal				CONSTANT gal810.spkau.fkodgrkau%TYPE := 75; -- Валюты
cstGrKauGrNal			CONSTANT gal810.spkau.fkodgrkau%TYPE := 5059; -- Группы налогов
cstGrKauManagStock		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10127; -- Код аналитики Менеджеры запасов
cstGrKauKatsod			CONSTANT gal810.spkau.fkodgrkau%TYPE := 10129; -- Код аналитики Каталог SOD
cstGrKauPlanInvolv		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10131; -- Плановая дата вовлечения МПЗ
cstGrKauSppEl			CONSTANT gal810.spkau.fkodgrkau%TYPE := 10134; -- Код аналитики СПП-элемент
cstGrKauSAPNalogs		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10137; -- Коды налогов SAP
cstGrKauSAPValuts		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10138; -- Коды валют SAP
cstGrKauSAPPodrs		CONSTANT gal810.spkau.fkodgrkau%TYPE := 10139; -- Коды подразделений SAP

-- Статусы записей в архивах
cstRecStInsert			CONSTANT NUMBER(1, 0) := 1; -- Вставлена
cstRecStModOld			CONSTANT NUMBER(1, 0) := 2; -- Изменена, было
cstRecStModNew			CONSTANT NUMBER(1, 0) := 3; -- Изменена, стало
cstRecStDelete			CONSTANT NUMBER(1, 0) := 4; -- Удалена

-- Флаги требуемых изменений в БД (NeedChangeDataBase)
cstNCDBNoChanges		CONSTANT NUMBER(1, 0) := 0; -- Нет необходимости изменять данные
cstNCDBNeedInsert		CONSTANT NUMBER(1, 0) := 1; -- Необходима вставка
cstNCDBNeedUpdate		CONSTANT NUMBER(1, 0) := 2; -- Необходима модификация
cstNCDBNeedDelete		CONSTANT NUMBER(1, 0) := 3; -- Необходимо удаление

cstMessTypeInfo			CONSTANT NUMBER(1, 0) := 0;
cstMessTypeWarn			CONSTANT NUMBER(1, 0) := 1;
cstMessTypeErr			CONSTANT NUMBER(1, 0) := 2;
-- Типы документов
cstSAPDTdogovor			CONSTANT syn_actmessages.doctype%TYPE := 0; -- Договор
cstSAPDTdocmat			CONSTANT syn_actmessages.doctype%TYPE := 1; -- Документ материала
cstSAPDTzakaz			CONSTANT syn_actmessages.doctype%TYPE := 2; -- Заказ
cstSAPDTschetfact		CONSTANT syn_actmessages.doctype%TYPE := 3; -- Счёт фактура
cstSAPDTksm				CONSTANT syn_actmessages.doctype%TYPE := 4; -- Материал
cstSAPDTcontragent		CONSTANT syn_actmessages.doctype%TYPE := 5; -- Контрагент

cstGALDTdopurch			CONSTANT gal810.soprhoz.ftipdoc%TYPE := 41; -- Документ основание на закупку
cstGALDTtipdopurch		CONSTANT gal810.spdocnal.ftipdoc%TYPE := 1101; -- Документ основание на закупку (Тип)
cstGALDTnaklinmat		CONSTANT gal810.katsopr.fvidsopr%TYPE := 101; -- Накладная на приём МЦ
cstGALDTreceiptorder	CONSTANT gal810.katsopr.fvidsopr%TYPE := 150; -- Приходный складской ордер
cstGALDTnakloutmat		CONSTANT gal810.katsopr.fvidsopr%TYPE := 201; -- Накладная на отпуск МЦ
cstGALDTconsumeorder	CONSTANT gal810.katsopr.fvidsopr%TYPE := 250; -- Приходный складской ордер
cstGALDTnaklintmove		CONSTANT gal810.katsopr.fvidsopr%TYPE := 600; -- Накладная на внутреннее перемещение
cstGALDTnaklskl2os		CONSTANT gal810.katsopr.fvidsopr%TYPE := 601; -- Накладная склад -> ОС
cstGALDTnaklskl2spec	CONSTANT gal810.katsopr.fvidsopr%TYPE := 602; -- Накладная склад -> Спецоснастка
cstGALDTactregrad		CONSTANT gal810.katsopr.fvidsopr%TYPE := 630; -- Акт на пересертицу
cstGALDTactmoveobj		CONSTANT gal810.katsopr.fvidsopr%TYPE := 632; -- Акт на перемещение между объектами

updrate_syn_activity	CONSTANT NUMBER(3, 0) := 1; -- Частота обновления таблицы прогресса
ownerGal				CONSTANT VARCHAR2(16) := '8001000000000C21'; -- От имени кого будут проводиться изменения в таблицах галактики
cstTestingDescr			CONSTANT VARCHAR2(3) := ''; -- Дескриптор для тестирования (если не NULL то все документы будут создаваться с этим дескриптором)
cstEmptyDescr			CONSTANT VARCHAR2(3) := 'R3_'; -- Если пользователь не найден то документ будет создан с этим дескриптором

NullFnrec				CONSTANT gal810.DOGOVOR.FNREC%TYPE := '8000000000000000';

cstDogPrepareStatus		CONSTANT gal810.DOGOVOR.FCNOTE%TYPE := '800100000000001B';
cstDopnikPrepareStatus	CONSTANT gal810.DOGOVOR.FCNOTE%TYPE := '800100000000004E';
cstDOPrepareStatus		CONSTANT GAL810.BASEDOC.fcnote%TYPE := '8001000000000AD1'; -- Получен из SAP
cstDOStornStatus		CONSTANT GAL810.BASEDOC.fcnote%TYPE := '8001000000000AE0'; -- сторнирован SAP
cstDOMovetobuhStatus	CONSTANT GAL810.BASEDOC.fcnote%TYPE := '8001000000000AD2'; -- Передан в бухгалтерию
cstSOPRPrepareStatus	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AD3'; -- Получен из SAP
cstAktMoveObjPrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AE6'; -- Получен из SAP
cstAktReGradPrepare		CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000B03'; -- Получен из SAP
cstNaklSkl2OsPrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AE7'; -- Получен из SAP
cstNaklSkl2SpecPrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AE8'; -- Получен из SAP
cstNaklIntMovePrepare	CONSTANT GAL810.KATSOPR.fcnote%TYPE := '8001000000000AEA'; -- Получен из SAP

cstSOPRMovetobuhStatus	CONSTANT gal810.katsopr.fcnote%TYPE := '8001000000000AD4'; -- Передан в бухгалтерию
cstVidDogOwnD			CONSTANT gal810.KATVIDD.FCOWNER%TYPE := '8001000000000151'; -- Вид "Доходный договор"
cstVidDogOwnK			CONSTANT gal810.KATVIDD.FCOWNER%TYPE := '8001000000000179'; -- Вид "Расходный договор"
cstCoDeclarerMPZ		CONSTANT gal810.fpco.fcnode%TYPE := '80010000000000E9'; -- Папка "Заявители МПЗ" центров ответственности
cstFCPAYMENT			CONSTANT gal810.basedoc.fcpayment%TYPE := '800100000000000D'; -- Форма расчёта "Безналичная"

cstRurVal				CONSTANT gal810.klval.fnrec%TYPE := '800100000000000B'; -- Валюта RUR
cstWithOutOrg			CONSTANT gal810.katorg.fnrec%TYPE := '8001000000003CA4'; -- Контрагент "БЕЗ ОРГАНИЗАЦИИ"
cstWithOutDogPurchMat	CONSTANT gal810.dogovor.fnrec%TYPE := '8001000000007459'; -- Договор "БД_РН_Покупка мат."
cstAttrNamNumScvd		CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '80010000000011F3'; -- Внешний атрибут "Номер СЦВД" таблицы договоров
cstAttrNamSysNum		CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000121B'; -- Внешний атрибут "Системный номер SAP" таблицы договоров
cstAttrNamDO			CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001252'; -- Внешний атрибут "(SAP) Счёт фактура" таблицы документов оснований (рабочая)
--cstAttrNamDO			CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001257'; -- Внешний атрибут "(SAP) Счёт фактура" таблицы документов оснований (тест)
cstAttrNamSopr			CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000124D'; -- Внешний атрибут "(SAP) Документ материала" таблицы накладных
cstAttrNamNaklDog		CONSTANT gal810.attrval.fcattrnam%TYPE := '800100000000020B'; -- Внешний атрибут "Договор" таблицы накладных
cstAttrNamFirstPart		CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001257'; -- Внешний атрибут "10Первичная партия" таблицы Партии МЦ
cstAttrNamParentPart	CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '8001000000001258'; -- Внешний атрибут "11Родительская партия" таблицы Партии МЦ
cstAttrNamSchOstPart	CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000125C'; -- Внешний атрибут "12Счет учета МПЗ(остатки)" таблицы Партии МЦ
cstAttrNamSchPostPart	CONSTANT gal810.ATTRVAL.FCATTRNAM%TYPE := '800100000000125E'; -- Внешний атрибут "14Счет учета МПЗ при поступлении" таблицы Партии МЦ
cstBE					CONSTANT VARCHAR2(4 CHAR) := '1299';
cstMANDAT				CONSTANT VARCHAR2(3 CHAR) := '400';
cstFactory9901			CONSTANT CHAR(16) := '8001000000011EA7';
cstFactory9902			CONSTANT CHAR(16) := '8001000000011EA9';
cstFactory9903			CONSTANT CHAR(16) := '80010000000120BB';
--cstKatRelSkl2Mol		CONSTANT CHAR(16) := '800100000000014E'; -- Каталог соотвествия склад мол
cstRusFedKatState		CONSTANT gal810.spgrnal.fccountry%TYPE := '8000000000000002'; -- Российская Федерация
cstNDScnalog			CONSTANT gal810.spgrnal.fcnalog%TYPE := '8000000000000002'; -- Налог на добавленную стоимость
cstNDSWOutNDS 			CONSTANT gal810.grnal.fnrec%TYPE := '8001000000000046'; -- Группа налогов "без НДС"
cstNDSOsn20				CONSTANT gal810.grnal.fnrec%TYPE := '800100000000000A'; -- Группа налогов "Основная 20 % c 01.01.04 18%"
cstCUCapConst			CONSTANT gal810.specmtr.fcsaldtune%TYPE := '8000000000000002'; -- Целевой учёт "Управление капитальным строительством"
cstGrPartOD				CONSTANT gal810.groupparty.fnrec%TYPE := '8001000000000114'; -- Операционная деятельность (группа партий)
cstGrSchOD				CONSTANT gal810.spgrsch.fcgroupsch%TYPE := '80010000000000B4'; -- Операционная деятельность (Группа ДО/Договоров)
cstGrPartNotIncEquip 	CONSTANT gal810.groupparty.fnrec%TYPE := '8001000000000547'; -- Оборудование не входящее в смету строек (группа партий)
cstGrSchNotIncEquip		CONSTANT gal810.spgrsch.fcgroupsch%TYPE := '8001000000000346'; -- Оборудование не входящее в смету строек (Группа ДО/Договоров)
cstPodrInstall			CONSTANT gal810.katpodr.fnrec%TYPE := '800100000001155B'; -- Оборудование, переданное в монтаж (подрядчики)
cstConstrMat			CONSTANT gal810.katpodr.fnrec%TYPE := '8001000000000027'; -- Строительные материалы (подрядчики) (с)
cstEquipmentCapex		CONSTANT gal810.addsumtune.fnrec%TYPE := '800100000000000C'; -- Статья затрат строительства "Оборудование  (capex)"
cstMolOutCommon			CONSTANT gal810.katmol.fnrec%TYPE := '8001000000000856'; -- МОЛ для списания (общий)
cstCZCentrEquip			CONSTANT gal810.katpodr.fnrec%TYPE := '80010000000092FA'; -- ЦЗ База оборудования
cstCZOtherConsum		CONSTANT gal810.katpodr.fnrec%TYPE := '8001000000005252'; -- ЦЗ Прочие расходы

cstReplStStornInLocSys	CONSTANT NUMBER(1, 0) := 3; -- Сторнирован в ЛИС
cstReplStApllyInLocSys	CONSTANT NUMBER(1, 0) := 2; -- Принят к учёту
cstReplStTransInLocSys	CONSTANT NUMBER(1, 0) := 1; -- Передан в ЛИС
cstReplStNotProcessed	CONSTANT NUMBER(1, 0) := 0; -- Не обрабатывался
cstReplStDogLinkFail	CONSTANT NUMBER(1, 0) := -1; -- Договор не сопоставлен в ЛИС
cstReplStSchFactNFound	CONSTANT NUMBER(1, 0) := -2; -- Счёт фактура не зарегестрирована (в SAP)
cstReplStDocNumEmpty	CONSTANT NUMBER(1, 0) := -3; -- Не указан номер документа
cstReplStFullDistrib	CONSTANT NUMBER(1, 0) := -4; -- Документ распределён не полностью
cstReplStKSMNfound		CONSTANT NUMBER(1, 0) := -5; -- Код КСМ не определён в ЛИС
cstReplStOther			CONSTANT NUMBER(1, 0) := -6; -- Прочее
cstReplStDogovorEmpty	CONSTANT NUMBER(1, 0) := -7; -- Не указан договор


vdCuObj					gal810.specmtr.fcobj%TYPE;	-- Значения по умолчанию
vdCuKau1				gal810.specmtr."FCKAU[1]"%TYPE;
vdCuKau2				gal810.specmtr."FCKAU[2]"%TYPE;
vdCuKau3				gal810.specmtr."FCKAU[3]"%TYPE;
vdCuKau4				gal810.specmtr."FCKAU[4]"%TYPE;
vdCuKau5				gal810.specmtr."FCKAU[5]"%TYPE;
vdCuKau6				gal810.specmtr."FCKAU[6]"%TYPE;
vdCuKau7				gal810.specmtr."FCKAU[7]"%TYPE;
vdCuKau8				gal810.specmtr."FCKAU[8]"%TYPE;
vdCuKau9				gal810.specmtr."FCKAU[9]"%TYPE;
vMyOrg_fnrec			gal810.KATORG.FNREC%TYPE;
vMyBank_fnrec			gal810.KATBANK.FNREC%TYPE;

-- ... 22000 строк кода процедур и функции


Инициализируем переменные один раз, при первом обращении к пакету, используем сколько влезет.
BEGIN
	-- Инициализация пакета
	-- Считываем дефолтные значения
	SELECT a.vstring INTO vdCuObj FROM syn_settings a WHERE a.settingname = 'CU.OBJ';
	SELECT a.vstring INTO vdCuKau1 FROM syn_settings a WHERE a.settingname = 'CU.KAU1';
	SELECT a.vstring INTO vdCuKau2 FROM syn_settings a WHERE a.settingname = 'CU.KAU2';
	SELECT a.vstring INTO vdCuKau3 FROM syn_settings a WHERE a.settingname = 'CU.KAU3';
	SELECT a.vstring INTO vdCuKau4 FROM syn_settings a WHERE a.settingname = 'CU.KAU4';
	SELECT a.vstring INTO vdCuKau5 FROM syn_settings a WHERE a.settingname = 'CU.KAU5';
	SELECT a.vstring INTO vdCuKau6 FROM syn_settings a WHERE a.settingname = 'CU.KAU6';
	SELECT a.vstring INTO vdCuKau7 FROM syn_settings a WHERE a.settingname = 'CU.KAU7';
	SELECT a.vstring INTO vdCuKau8 FROM syn_settings a WHERE a.settingname = 'CU.KAU8';
	SELECT a.vstring INTO vdCuKau9 FROM syn_settings a WHERE a.settingname = 'CU.KAU9';

	SELECT  
		ko.fnrec INTO vMyOrg_fnrec
	FROM
		gal810.tunedef tdMyOrg
		JOIN gal810.tuneval tvMyOrg ON tvMyOrg.fctune = tdMyOrg.fnrec AND tvMyOrg.fobj = 1
		JOIN gal810.katorg ko ON ko.fnrec = tvMyOrg.fcompval
	WHERE
		tdMyOrg.fcode$up = 'MYORG';

	SELECT  
		rsch.fnrec INTO vMyBank_fnrec
	FROM
		gal810.tunedef tdMyBank
		JOIN gal810.tuneval tvMyBank ON tvMyBank.fctune = tdMyBank.fnrec AND tvMyBank.fobj = 1
		JOIN gal810.katbank rsch ON rsch.fnrec = tvMyBank.fcompval
	WHERE
		tdMyBank.fcode$up = 'MYBANK';
END;

Можно ли написать тот же функционал без пакетов? Да можно, конечно, только сопровождать будет тот ещё геморрой. Если проект из разряда один раз написать и больше туда не заглядывать, то покатит. А если постоянная разработка/доработка, то без пакетов тяжко.
23 сен 20, 19:26    [22202993]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Dimitry Sibiryakov
но мигрировать самописную систему...

Тоже могут быть основания. Например, ликвидация зоопарка.
А зоопарк мог появиться, например, при покупке другой конторы.

Обычно при покупке конторы она какое-то время работает на том же софте, на котором работала до её покупки.

Для отчетности делают выгрузки данных в унифицированное хранилище.

В это время идет внедрение корпоративной системы, принятой в материнской компании:
обучение сотрудников, подготовка к миграции данных, изменение технологий работы и др.

Потом данные мигрируют, и все переходят к работе на единой информационной системе корпорации.

Старая система не переписывается, а списывается в утиль.

Так проще и дешевле ликвидировать "зоопарк".
23 сен 20, 22:01    [22203062]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Валерий Юринский
В это время идет внедрение корпоративной системы, принятой в материнской компании:

Для начала, "корпоративная система, принятая в материнской компании" далеко не всегда способна обслужить бизнес дочерней.

+
А если это какой-нибудь ебизнес сьют, так она и бизнес материнской не в состоянии обслужить
23 сен 20, 22:16    [22203072]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Валерий Юринский
В это время идет внедрение корпоративной системы, принятой в материнской компании:

Для начала, "корпоративная система, принятая в материнской компании" далеко не всегда способна обслужить бизнес дочерней.

+
А если это какой-нибудь ебизнес сьют, так она и бизнес материнской не в состоянии обслужить
Тогда бизнес дочерней компании "натягивают" на требования информационной системы материнской компании.
1) Это оказывается проще и дешевле.
2) Проводится унификация бизнес-процессов.
Именно так делается при внедрении SAP.

При использовании "ебизнес суит" информационная система подстраивается под бизнес.
При использовании SAP бизнес подстраивается под информационную систему.
23 сен 20, 23:44    [22203116]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Валерий Юринский
Тогда бизнес дочерней компании "натягивают"

Да-да, я как раз о том, что происходит с бизнесом при подобных внедрениях.
23 сен 20, 23:52    [22203119]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Валерий Юринский
Тогда бизнес дочерней компании "натягивают"

Да-да, я как раз о том, что происходит с бизнесом при подобных внедрениях.

Все в порядке с бизнесом, если бизнес нормальный и собственники хотят его развивать, а не убить.

Внедрений SAP в РФ больше, чем Oracle EBS.
Но это уже другая тема.
24 сен 20, 00:00    [22203124]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Валерий Юринский
softwarer
пропущено...

Да-да, я как раз о том, что происходит с бизнесом при подобных внедрениях.

Все в порядке с бизнесом, если бизнес нормальный и собственники хотят его развивать, а не убить.

Внедрений SAP в РФ больше, чем Oracle EBS.
Но это уже другая тема.


В массе своей все внедрения SAP в РФ были для прохождения стандарта ISO 20000.
Типа при внедрении SAP сертификат со скидкой.
Сертификат нужен был, для торговли на международных площадках.
В общем внедряли за дорого "хтонический ужас", чтобы получить бумажку.

Некоторые "хитрецы" типа РЖД, внедряли SAP мимо официальных конслатеров.
Типа экономили на спичках.
Это было еще веселее.


Сейчас я не знаю, внедряют ли массово SAP.
В основном мне кажется, что он больше на поддержке/развитии, чем на внедрении.
24 сен 20, 07:54    [22203181]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
mad_nazgul
Валерий Юринский
пропущено...

Все в порядке с бизнесом, если бизнес нормальный и собственники хотят его развивать, а не убить.

Внедрений SAP в РФ больше, чем Oracle EBS.
Но это уже другая тема.


В массе своей все внедрения SAP в РФ были для прохождения стандарта ISO 20000.
Типа при внедрении SAP сертификат со скидкой.
Сертификат нужен был, для торговли на международных площадках.
В общем внедряли за дорого "хтонический ужас", чтобы получить бумажку.

Некоторые "хитрецы" типа РЖД, внедряли SAP мимо официальных конслатеров.
Типа экономили на спичках.
Это было еще веселее.


Сейчас я не знаю, внедряют ли массово SAP.
В основном мне кажется, что он больше на поддержке/развитии, чем на внедрении.

Думаю, что сейчас новые внедрения большая редкость.
Все, кто хотел, уже внедрили у себя SAP, Oracle EBS и др.

Но это тема для обсуждения на форуме ERP и учетные системы
24 сен 20, 16:03    [22203600]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
Рындин кстати действительно ушел из Оракла.

Остальным продавцам и фанатам этой старой коробки стоит задуматься.
26 сен 20, 14:34    [22204738]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5688
Бумбараш,

Да норм всё будет.
У этого комбайна есть будущее, пока будут любители пихать всю бизнес-логику в БД.
Правда проблемы у Oracle будут не от PostgreSQL, а скорее со стороны микросеврисов.
Т.е. другой архитектуры построения ИС.
Но микрсоервисную архитектуру мало кто умеет готовить.
Так что Oracle ещё долго будет востребован.
28 сен 20, 06:22    [22205202]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Проблемы будут ровно то тех пор, "пока будут любители пихать всю бизнес-логику в" ( C ) микросервисы.

Но, поскольку, даже по Вашим словам "микрсоервисную архитектуру мало кто умеет готовить." - то они и не предвидятся.
28 сен 20, 08:08    [22205222]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Favn
Member

Откуда:
Сообщений: 584
Leonid Kudryavtsev,
как раз бизнес логике там самое и место.
А вот нежелание (лень) отделять логику сервисов от архитектуры хранилищ (каждому сервису - по субдушке, а дальше девопсы как-нибудь...) - да, серьёзный источник проблем. Но, к сожалению, отложенных.
28 сен 20, 17:32    [22205844]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
mad_nazgul

Правда проблемы у Oracle будут не от PostgreSQL, а скорее со стороны микросеврисов.
Т.е. другой архитектуры построения ИС.

проблемы будут у местных потребителей оракла, которые сидят на on preme, а оракл и майкрософт уже давно работают только на облака

и On-prem решения не развивают. Зачем им это делать, если в какой-то тьмутаракани сидят только на on preme, когда она занимает 1% в их доходе?
28 сен 20, 17:55    [22205864]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Довольно забавно наблюдать, как бандерлоги убеждают себя "У Каа будут проблемы. Это верно, мы все так говорим".
28 сен 20, 18:19    [22205893]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2913
softwarer
Довольно забавно наблюдать, как бандерлоги убеждают себя "У Каа будут проблемы. Это верно, мы все так говорим".

по делу есть чего?
28 сен 20, 18:35    [22205910]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
Валерий Юринский
Member

Откуда: Москва, "ФОРС Дистрибуция"
Сообщений: 1282
softwarer
Довольно забавно наблюдать, как бандерлоги убеждают себя "У Каа будут проблемы. Это верно, мы все так говорим".
:-)
Р. Киплинг
Они жили на вершинах деревьев, а так как звери редко смотрят вверх,
то обезьянам и Народу Джунглей не приходилось встречаться.

Но если обезьянам попадался в руки больной волк, или раненый тигр, или медведь,
они мучили слабых и забавы ради бросали в зверей палками и орехами, надеясь,
что их заметят.

Они поднимали вой, выкрикивая бессмысленные песни, звали Народ Джунглей
к себе на деревья драться, заводили из-за пустяков ссоры между собой и бросали
мёртвых обезьян где попало, напоказ всему Народу Джунглей.

Они постоянно собирались завести и своего вожака, и свои законы и обычаи,
но так и не завели, потому что память у них была короткая, не дальше вчерашнего дня.

В конце концов они помирились на том, что придумали поговорку:
«Все джунгли будут думать завтра так, как обезьяны думают сегодня»,
и очень этим утешались.

Никто из зверей не мог до них добраться, и никто не обращал на них внимания…

+ Original

They belonged to the tree-tops, and as beasts very seldom look up, there was no occasion for the monkeys and the Jungle-People to cross each other’s path. But whenever they found a sick wolf, or a wounded tiger, or bear, the monkeys would torment him, and would throw sticks and nuts at any beast for fun and in the hope of being noticed. Then they would howl and shriek senseless songs, and invite the Jungle-People to climb up their trees and fight them, or would start furious battles over nothing among themselves, and leave the dead monkeys where the Jungle-People could see them. They were always just going to have a leader, and laws and customs of their own, but they never did, because their memories would not hold over from day to day, and so they compromised things by making up a saying, “What the Bandar-log think now the jungle will think later,” and that comforted them a great deal. None of the beasts could reach them, but on the other hand none of the beasts would notice them,..

28 сен 20, 20:15    [22205972]     Ответить | Цитировать Сообщить модератору
 Re: Что есть в oracle и нет в postgresql?  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7492
К вопросу об инкапсуляции логики и схемах. 22208282

Понятно, что в данном случае лучше было подумать, как вынести эту логику за пределы бд, но людей чисто по-человечески жаль.
5 окт 20, 10:29    [22208930]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить