powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / create table .... type of column tttt.ffff
18 сообщений из 18, страница 1 из 1
create table .... type of column tttt.ffff
    #39686177
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При объявлении процедур можно указывать тип параметров по уже существующим столбцам.

А для обычных таблиц такое сделали? create table .... type of column tttt.ffff

Вот пример, хочу в ряд таблиц добавить поле, копируемое треггиром с current_connection.

Но у current_connection (и у mon$attachments.MON$attachment_id) нет именнованного домена - что весьма жаль, правильнее бы, чтобы был явно названный тип, так и вопрос бы решился, но увы...

При этом в FB2 и FB3+ тип переменной/поля разный.

Можно бы было добиться того же даже в отсутствие явно прописанного типа данных
Код: sql
1.
alter table add cxn type of column mon$attachments.MON$attachment_id

или
Код: sql
1.
alter table add cxn type of variable current_connection

- но вроде по докам этого даже в FB3 нету.
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686189
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> А для обычных таблиц такое сделали? create table .... type of column tttt.ffff

В 2.5 этого точно не. В 3.0 и выше - ХЗ.

> При этом в FB2 и FB3+ тип переменной/поля разный.

Тебе, конечно, нужно и для того, и для другого.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686196
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

мне нужно shoot and forget

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

да и домены в SQL для того же.

весьма жалдь что у системных таблиц и переменных нет явных доменов, аналогичных сищным системным типам типа size_t :-/
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686198
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochвесьма жалдь что у системных таблиц и переменных нет явных доменовНе знаю, шо такэ системные переменные, но, внезапно:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SQL> show table rdb$relations;
RDB$VIEW_BLR                    (RDB$VIEW_BLR) BLOB segment 80, subtype BLR Nullable
RDB$VIEW_SOURCE                 (RDB$SOURCE) BLOB segment 80, subtype TEXT CHARACTER SET UNICODE_FSS Nullable
RDB$DESCRIPTION                 (RDB$DESCRIPTION) BLOB segment 80, subtype TEXT CHARACTER SET UNICODE_FSS Nullable
RDB$RELATION_ID                 (RDB$RELATION_ID) SMALLINT Nullable
RDB$SYSTEM_FLAG                 (RDB$SYSTEM_FLAG) SMALLINT Not Null
RDB$DBKEY_LENGTH                (RDB$DBKEY_LENGTH) SMALLINT Nullable
RDB$FORMAT                      (RDB$FORMAT) SMALLINT Nullable
RDB$FIELD_ID                    (RDB$FIELD_ID) SMALLINT Nullable
RDB$RELATION_NAME               (RDB$RELATION_NAME) CHAR(31) CHARACTER SET UNICODE_FSS Nullable
RDB$SECURITY_CLASS              (RDB$SECURITY_CLASS) CHAR(31) CHARACTER SET UNICODE_FSS Nullable
RDB$EXTERNAL_FILE               (RDB$FILE_NAME) VARCHAR(255) Nullable
RDB$RUNTIME                     (RDB$RUNTIME) BLOB segment 80, subtype SUMMARY Nullable
RDB$EXTERNAL_DESCRIPTION        (RDB$EXTERNAL_DESCRIPTION) BLOB segment 80, subtype EXTERNAL_FILE_DESCRIPTION Nullable
RDB$OWNER_NAME                  (RDB$USER) CHAR(31) CHARACTER SET UNICODE_FSS Nullable
RDB$DEFAULT_CLASS               (RDB$SECURITY_CLASS) CHAR(31) CHARACTER SET UNICODE_FSS Nullable
RDB$FLAGS                       (RDB$SYSTEM_NULLFLAG) SMALLINT Nullable
RDB$RELATION_TYPE               (RDB$RELATION_TYPE) SMALLINT Nullable
CONSTRAINT RDB$INDEX_0:
  Unique key (RDB$RELATION_NAME)

SQL> show domain rdb$relation_id;
RDB$RELATION_ID                 SMALLINT Nullable
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686204
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
встроенные в сервер на уровне языка, типа current_connection, user и т.д.

вот у переменной current_connection и столбца mon$attachments.MON$attachment_id есть раз и навсегда названный домен ?
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686208
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

я не буду обсуждать эту блажь, моё время и нервы дороже твоих развлечений
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686211
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. size_t в C/C++ - это бладь и развлечение? Ну-ну.
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686215
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochт.е. size_t в C/C++ - это бладь и развлечение?

А ты думаешь почему оно не используется в коде Firebird?.. ;-)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686305
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

что ты хочешь-то. Допустим, relation_id в будущих версиях ФБ станет не smallint а int. Но кто тебе структуру таблиц-то переделывать будет? Создание метаданных в конкретной версии базируется на конкретных типах. Бэкап-рестор типы не меняет. И если в системных таблицах тип поменяется со smallint на int, в твоей юзерской таблице этот тип при б-р никак не изменится.
Неужели до этого додуматься нельзя?
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686811
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

gbak будет, при восстановлении из fbk старой версии в fdb новой версии он будет создавать таблицы и вычитывать реальный тип сис-доменов ,сис-переменных иили сис-столбцов.

....а кто "структуру хранимок" переделывает в случае уже существующего " type of column " ???
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686814
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

ээээ... ну как бы системные таблицы создаются при создании БД. gbak сначала создаёт пустую болванку БД, а потом наполняет её, метаданными и данными.
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39686914
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисну как бы системные таблицы создаются при создании БД

ээээ.... ну так я и не создаю системные таблицы, наоборот!
я хочу создавать пользовательские таблицы, которые заимствуют тип из системных
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39689111
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, вот ещё

в связи с запросами типа

Код: sql
1.
2.
3.
select  ...., ..., null, ..., ....
union all
select ............


https://stackoverflow.com/questions/51868493/union-all-on-different-columns

хочется иметь такую фишку как

Код: sql
1.
select cast( xxx as type of column ttttt.fffff ) from ....
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39689122
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

в топку
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39689370
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

да здравствует копи-паст? зря
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39689495
Dmitry Kurbsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochkdv,

gbak будет, при восстановлении из fbk старой версии в fdb новой версии он будет создавать таблицы и вычитывать реальный тип сис-доменов ,сис-переменных иили сис-столбцов.

Будет весело.

Код: sql
1.
2.
3.
4.
5.
create table T1 (F11 integer);

create table T2 (F21 integer, F22 type of column T1.F11);

alter table T1 add F12 type of column T2.F21;
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39689503
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Kurbsky,

ну а как сейчас расшиваются круговые зависимости между computed by столбцами ?

но если твою идею довести до логического конца, то...

Код: sql
1.
2.
3.
4.
5.
create table T1 (F11 integer);

create table T2 (F21 of column T1.F11);

alter table T1 alter column F11 type of column T2.F21
...
Рейтинг: 0 / 0
create table .... type of column tttt.ffff
    #39689545
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

ИХМО computed by столбцы зло. Хорош фигню сочинять
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / create table .... type of column tttt.ffff
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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