Link eine Sequenz mit einer Identität, in hsqldb
In PostgreSql kann man eine Reihenfolge festlegen, und verwenden Sie es als Primärschlüssel einer Tabelle. In HsqlDB, kann man immer noch erreichen, erstellen Sie eine auto-Inkrement-identity-Spalte, auf die noch kein link zu jedem Benutzer definierten Reihenfolge. Ist es möglich, einen Benutzer-definierten Reihenfolge als der generator der eine auto-increment-identity-Spalte in HsqlDB?
Beispiel-sql in PostgreSql:
CREATE SEQUENCE seq_company_id START WITH 1;
CREATE TABLE company (
id bigint PRIMARY KEY DEFAULT nextval('seq_company_id'),
name varchar(128) NOT NULL CHECK (name <> '')
);
Was entspricht in HsqlDB?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der version 2.0 gibt es keine direkte Funktion dafür. Definieren Sie einen BEFORE INSERT-trigger auf die Tabelle, um dies zu tun:
einfügen und ohne vlue für id
INSERT INTO Firma VALUES null, 'test'
Update für HSQLDB 2.1 und höher: Eine Funktion wurde Hinzugefügt, um dies zu unterstützen.
Finden Sie in der Anleitung unter " CREATE TABLE - http://hsqldb.org/doc/2.0/guide/databaseobjects-chapt.html#dbc_table_creation
Zusätzlich, 2.1 und höher hat eine PostgreSQL-Kompatibilität-Modus, in dem es akzeptiert PostgreSQL CREATE TABLE-Anweisung, die sich auf die Reihenfolge, in der DEFAULT-Klausel und übersetzt es in HSQLDB-syntax.