Skip to main content

SQL Tabelle anlegen

SQL Tabelle anlegen ist der Schritt vor Neu: die Tabelle gibt es noch nicht. Der Dialog fragt Verbindung, Tabellenname und Spalten ab und lässt das Portalskript ein CREATE TABLE ausführen – auf MySQL oder MS SQL, je nachdem, was in der dbConn.json zu dieser Verbindung steht.

Wo die Tabelle entsteht

Feld Bedeutung
Verbindung Die DEXPRO-Datenbank, in der die Tabelle angelegt wird. Workflow, DOCUMENTS und Squeeze stehen nie zur Wahl – siehe Geschützte Datenbanken
Tabellenname Buchstaben, Ziffern und _, beginnend mit einem Buchstaben oder _, höchstens 63 Zeichen. Ein Name, den es in dieser Datenbank schon gibt, wird abgewiesen

ID und Licence sind immer dabei

Jede so angelegte Tabelle beginnt mit denselben zwei Spalten wie jede ausgelieferte DEX-Tabelle:

Spalte Form
ID BIGINT, Primärschlüssel, von der Datenbank hochgezählt
Licence varchar(50), NOT NULL, Standardwert ist der Mandant dieser Anmeldung

Beide zeigt der Dialog nur an. Anlegen, ändern oder weglassen kann sie niemand – das entscheidet das Portalskript.

Damit ist der Primärschlüssel erschöpft: eine weitere Schlüsselspalte bietet der Dialog nicht an, und ohne Schlüssel gibt es auch keinen Auto-Wert, denn eine hochzählende Spalte muss der Schlüssel sein. In den Spaltenzeilen stehen PK und Auto deshalb nur als Strich.

Die eigenen Spalten

Je Zeile: Name, Typ, Länge, Standardwert und der Haken NULL.

Typ MS SQL / MySQL Länge
Text NVARCHAR(n) / VARCHAR(n) Zeichenzahl, Vorgabe 255
Langtext NVARCHAR(MAX) / LONGTEXT
Zeichen (feste Länge) NCHAR(n) / CHAR(n) Vorgabe 10
Ganzzahl INT
Ganzzahl (groß) BIGINT
Ganzzahl (klein) SMALLINT
Dezimalzahl DECIMAL(p,s) Stellen,Nachkommastellen – z. B. 18,2
Gleitkommazahl FLOAT / DOUBLE
Ja/Nein BIT / BIT(1)
Datum DATE
Datum und Zeit DATETIME
Binärdaten VARBINARY(MAX) / LONGBLOB
  • NULL – ohne diesen Haken muss jede neue Zeile einen Wert mitbringen, oder die Spalte braucht einen Standardwert.
  • Standardwert – bei Datum und Zeit steht now für die aktuelle Zeit (GETDATE() bzw. CURRENT_TIMESTAMP).
  • Spaltennamen folgen derselben Regel wie der Tabellenname. Doppelte Namen und die beiden festen Namen ID und Licence werden abgewiesen.

SQL anzeigen

SQL anzeigen holt das fertige Statement vom Portalskript und zeigt es in der Statuszeile – ausgeführt ist dabei noch nichts. Das Statement wird nicht in der Seite zusammengebaut, sondern im Backend aus geprüften Bausteinen; die Vorschau ist also genau das, was später läuft.

Anlegen

Anlegen führt das CREATE TABLE aus. Der Fortschrittskasten bleibt stehen, bis die Datenbank geantwortet hat.

Ist Definition dazu anlegen angehakt, steht anschließend gleich eine neue Definition offen – mit den Spalten der frisch angelegten Tabelle, noch ungespeichert. Der Name wird aus dem Tabellennamen abgeleitet und ist frei wählbar.

Fallen lassen kann der Editor eine Tabelle nicht. Ein DROP TABLE gibt es hier nicht – das bleibt Sache der Datenbank. Einzelne selbst angelegte Spalten lassen sich über SQL Tabelle ändern wieder löschen.