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.