powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Extract metadata - несколько пожеланий
13 сообщений из 13, страница 1 из 1
Extract metadata - несколько пожеланий
    #39658631
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Невзирая на название, функция может вернуть не только метаданные, но и данные. Это классно, конечно, но догадаться трудно. Я было даже стал искать другой инструмент для получения скрипта с данными.

2. Заменить CREATE TABLE на RECREATE TABLE или дать такую опцию. Было бы очень удобно для отладочных скриптов.

3. Когда экспортируется таблица вместе данными, операторы в скрипте располагаются с таком порядке:

Код: sql
1.
2.
3.
CREATE TABLE table
INSERT INTO table
ALTER TABLE table ADD CONSTRAINT pk_table PRIMARY KEY



В результате при выполнении скрипта INSERT напарывается на "Table must have primary key" и вставки не происходит. Если руками поменять порядок на

Код: sql
1.
2.
3.
4.
5.
CREATE TABLE table
ALTER TABLE table ADD CONSTRAINT PRIMARY KEY
ALTER TABLE table ADD CONSTRAINT
...
INSERT INTO table



то в результате все проходит гладко. Просьба - сделать сразу такой порядок.


А так все здорово.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39658662
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyanskyВ результате при выполнении скрипта INSERT напарывается на "Table must have primary key" и вставки не происходит.

Не понял, кто, кому и почему must have? Для заполнения таблицы данными ключ не нужен. Порядок там правильный: сначала заливаются данные, потом создаются ключи, индексы, триггеры и т.д.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39660372
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу простить, был неточен. Использую не INSERT, а UPDATE OR INSERT. "Use UPDATE OR INSERT (by primary key, no MATCHING clause)". Это операторы располагаются сразу после CREATE TABLE, и вот им как раз не хватает первичного ключа. Если сперва создать индексы, а потом делать UPDATE OR INSERT, то все получается. Возможно, чуть помедленнее, чем если сперва данные, потом индекс, но скорость здесь не самое главное.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39660408
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyanskyИспользую не INSERT, а UPDATE OR INSERT. "Use UPDATE OR INSERT (by primary key, no MATCHING clause)".

Эм... А зачем? Эта опция для того, чтобы слить в скрипт данные или их часть некоторой таблицы и потом накатить его на другой базе, где такая таблица уже существует и притом с данными.
А зачем ее для только что созданной таблицы использовать?

Наверное, можно при включении этой опции перенести создание первичных ключей до выполнения UPDATE OR INSERT - надо посмотреть. Но смысл-то использования UPDATE OR INSERT в чем?
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39660436
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, логично, согласен. Смысл в UPDATE OR INSERT есть, но не после CREATE или RECREATE TABLE. Это я на всякий случай ставил, чтобы можно было без пересоздания таблиц, скопировав блок из скрипта, дозалить данные. Ладно, оставим это.

Но опцию с RECREATE TABLE добавьте, пожалуйста.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39663376
vvkhr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

С некоторых пор начал активно использовать вычислимые поля

ну типа [FieldName] COMPUTED BY ((SELECT T.NAME FROM TYPE_DOGOVOR_PROM T WHERE T.KOD=KOD_VID_V)),

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

Из-за этого при выполнении скрипта из этих метаданных получаю ошибку.
Приходится вручную передвигать эти таблицы выше по скрипту.

Есть ли возможность как то парсить эти зависимости и описывать таблицы, от которых зависит вычислимое поле, выше чем описание самого поля ???????
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39663405
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvkhrС некоторых пор начал активно использовать вычислимые поля

зря. При кажущемся удобстве на самом деле геморроя гораздо больше.
А в особенности ужасны вычисляемые поля с SELECTами.

Теперь про зависимости. А ты не думал что такими вычисляемыми полями легко рекурсивную зависимость сделать. И тогда выход только один делать изначальный скрипт таблиц без вычисляемых полей, а затем с помощью ALTER TABLE добавлять их.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39663514
vvkhr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисvvkhrС некоторых пор начал активно использовать вычислимые поля

зря. При кажущемся удобстве на самом деле геморроя гораздо больше.
А в особенности ужасны вычисляемые поля с SELECTами.

Теперь про зависимости. А ты не думал что такими вычисляемыми полями легко рекурсивную зависимость сделать. И тогда выход только один делать изначальный скрипт таблиц без вычисляемых полей, а затем с помощью ALTER TABLE добавлять их.


Просто достало при выводе адреса клиента еще и таблицу улиц джойнить.
Я и добавил вычислимое поле.

Про рекурсию я не подумал.
Ну можно до абсурда любую вещь довести
Пока такого не накручивал.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39663516
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvkhrПриходится вручную передвигать эти таблицы выше по скрипту.


Там галка в настройках есть - "Извлекать вычисляемые поля отдельно".
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39663537
vvkhr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таки в Експерте все это предусмотрено с COMPUTED BY

Надо просто в настройках извлечения метаданных поставить птичку - ИЗВЛЕКАТЬ CUMPUTED BY отдельно
Раньше ее просто не заметил.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39663538
vvkhr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О. Пока написал уже и разработчик прокомментировал. Спасибо
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39664307
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shalamyanskyНо опцию с RECREATE TABLE добавьте, пожалуйста.

Добавил.
...
Рейтинг: 0 / 0
Extract metadata - несколько пожеланий
    #39669697
shalamyansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, пользуюсь!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Extract metadata - несколько пожеланий
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]