Spec-Zone.ru › MariaDB

Использование CONNECT — Виртуальные и специальные столбцы

CONNECT поддерживает MariaDB виртуальные и постоянные столбцы. Также возможно объявить столбец специальным столбцом CONNECT. Посмотрим на примере, как это сделать. Таблица boys, которую мы видели ранее, может быть пересоздана следующим образом:

create table boys (
  linenum int(6) not null default 0 special=rowid,
  name char(12) not null,
  city char(12) not null,
  birth date not null date_format='DD/MM/YYYY',
  hired date not null date_format='DD/MM/YYYY' flag=36,
  agehired int(3) as (floor(datediff(hired,birth)/365.25))
  virtual,
  fn char(100) not null default '' special=FILEID)
engine=CONNECT table_type=FIX file_name='boys.txt' mapped=YES lrecl=47;

Мы определили два специальных столбца CONNECT. Вы можете дать им любое имя; это поле SPECIAL, которое определяет функциональное имя специального столбца.

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

Для определения виртуального столбца agehired нельзя указывать опции CONNECT, так как у него нет смещения или длины, и он не хранится в файле.

Команда:

select * from boys where city = 'boston';

вернёт:

linenum name city birth hired agehired fn
1 John Boston 1986-01-25 2010-06-02 24 d:\mariadb\sql\data\boys.txt
2 Henry Boston 1987-06-07 2008-04-01 20 d:\mariadb\sql\data\boys.txt
6 Bill Boston 1986-09-11 2008-02-10 21 d:\mariadb\sql\data\boys.txt

Существующие специальные столбцы перечислены в следующей таблице:

Специальное имя Тип Описание значения столбца
ROWID Целое число Порядковый номер строки в таблице. Это не совсем эквивалентно виртуальному столбцу с автоматическим инкрементом 1, потому что строки перенумеруются при удалении строк.
ROWNUM Целое число Порядковый номер строки в файле. Это отличается от ROWID для нескольких таблиц, таблиц TBL/XCOL/OCCUR/PIVOT, XML-таблиц с несколькими столбцами и для таблиц DBF, где ROWNUM включает мягко удалённые строки.
FILEID FDISK FPATH FNAME FTYPE Строка FILEID возвращает полное имя файла, к которому относится эта строка. Особенно полезно для нескольких таблиц, представленных несколькими файлами. Другие специальные столбцы могут использоваться для извлечения только одной части полного имени.
TABID Строка Имя таблицы, к которой относится эта строка. Полезно для таблиц TBL.
PARTID Строка Имя раздела, к которому относится эта строка. Специфично для разделяемых таблиц.
SERVID Строка Имя федеративного сервера или хоста сервера, используемого таблицей MYSQL. «ODBC» для таблицы ODBC, «JDBC» для таблицы JDBC и «Current» для всех остальных таблиц.

Примечание: CONNECT в настоящее время не поддерживает столбцы с автоматическим инкрементом. Однако специальный столбец ROWID выполнит задачу столбца с автоматическим инкрементом на 1.

Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/using-connect-virtual-and-special-columns/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API