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
nowfür die aktuelle Zeit (GETDATE()bzw.CURRENT_TIMESTAMP). - Spaltennamen folgen derselben Regel wie der Tabellenname. Doppelte Namen und die
beiden festen Namen
IDundLicencewerden 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 TABLEgibt es hier nicht – das bleibt Sache der Datenbank. Einzelne selbst angelegte Spalten lassen sich über SQL Tabelle ändern wieder löschen.
No comments to display
No comments to display