Umgebungssystemplattform: Microsoft Windows (64-Bit) 10 Version: 4.5
Microsoft Windows (64-bit) 10版本:4.5
瀚高数据库中支持使用以下语句创建用户定义的数据类型:
CREATE DOMAIN
:它创建了一个用户定义的数据类型,可以有可选的约束,基于其他基本类型,实质是定义一个域。
CREATE TYPE
CREATE DOMAIN
: Es wird ein benutzerdefinierter Datentyp erstellt, der optionale Einschränkungen haben kann, die auf anderen Grundtypen basieren und im Wesentlichen eine Domäne definieren. CREATE TYPE
: Wird normalerweise verwendet, um zusammengesetzte Typen (Datentypen, die eine Mischung aus zwei oder mehr Datentypen sind) mithilfe gespeicherter Prozeduren zu erstellen.
1. Domänenverwendung und Beispiele
Wenn die folgende Tabellenstruktur vorhanden ist:create table test_domain (id varchar,md5 text not null check(length(md5)=32));
Darunter können der Typ und die Einschränkungen der MD5-Spalte durch Definieren einer Domäne wie folgt abstrahiert werden:
highgo=# create domain md5 as highgo-# text not null highgo-# check ( highgo(# length(value) = 32 highgo(# ); CREATE DOMAIN highgo=# highgo=# \dD md5 List of domains Schema | Name | Type | Collation | Nullable | Default | Check --------+------+------+-----------+----------+---------+---------------------------- public | md5 | text | | not null | | CHECK (length(VALUE) = 32) (1 row) highgo=# create table test_domain (id varchar,md5 md5); CREATE TABLE highgo=# insert into test_domain values('1','2'); ERROR: value for domain md5 violates check constraint "md5_check" highgo=# insert into test_domain values('2','76a2173be6393254e72ffa4d6df1030a'); INSERT 0 1
highgo=# create domain datetime as timestamp without time zone; highgo=# create table t_time (id int,create_time datetime); CREATE TABLE highgo=# \d+ t_time Table "public.t_time" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description -------------+----------+-----------+----------+---------+---------+--------------+------------- id | integer | | | | plain | | create_time | datetime | | | | plain | | Access method: heap highgo=# insert into t_time values (1,now()),(2,now()); INSERT 0 2 highgo=# highgo=# select * from t_time; id | create_time ----+---------------------------- 1 | 2021-08-03 19:28:11.207324 2 | 2021-08-03 19:28:11.207324 (2 rows)
CREATE TYPE name AS ( [ attribute_name data_type [ COLLATE collation ] [, ... ] ] ) CREATE TYPE name AS ENUM ( [ 'label' [, ... ] ] ) CREATE TYPE name AS RANGE ( SUBTYPE = subtype [ , SUBTYPE_OPCLASS = subtype_operator_class ] [ , COLLATION = collation ] [ , CANONICAL = canonical_function ] [ , SUBTYPE_DIFF = subtype_diff_function ] ) CREATE TYPE name ( INPUT = input_function, OUTPUT = output_function [ , RECEIVE = receive_function ] [ , SEND = send_function ] [ , TYPMOD_IN = type_modifier_input_function ] [ , TYPMOD_OUT = type_modifier_output_function ] [ , ANALYZE = analyze_function ] [ , INTERNALLENGTH = { internallength | VARIABLE } ] [ , PASSEDBYVALUE ] [ , ALIGNMENT = alignment ] [ , STORAGE = storage ] [ , LIKE = like_type ] [ , CATEGORY = category ] [ , PREFERRED = preferred ] [ , DEFAULT = default ] [ , ELEMENT = element ] [ , DELIMITER = delimiter ] [ , COLLATABLE = collatable ] ) CREATE TYPE name
CREATE TYPE compfoo AS (f1 int, f2 text); CREATE FUNCTION getfoo() RETURNS SETOF compfoo AS $$ SELECT fooid, fooname FROM foo $$ LANGUAGE SQL; CREATE TYPE bug_status AS ENUM ('new', 'open', 'closed'); CREATE TABLE bug ( id serial, description text, status bug_status ); CREATE TYPE float8_range AS RANGE (subtype = float8, subtype_diff = float8mi);
Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Datetime-Typ in einer MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!