Nuclos Datenbankobjekte: Views, Funktionen, Prozeduren, Nuclet-Transfer, Reihenfolge, Löschanweisung, CA_-Funktionen, PostgreSQL/Oracle. |
Sprache: Deutsch · English
Eigene Views, Funktionen und Prozeduren als Teil eines Nuclets – inkl. Reihenfolge/Löschanweisung und CA_-Konvention.
Auf dieser Seite |
Datenbankobjekte konfigurieren benutzerdefinierte Views, Funktionen, Prozeduren usw. als Teil eines Nuclets – bei einem Nuclet-Transfer werden sie mitübernommen. Typische Anwendungen: DB-Funktionen für berechnete Attribute, Views für virtuelle Businessobjekte oder Packages für Jobs.
Menüaufruf: Konfiguration → Datenbank → Datenbankobjekte
Über das Feld Reihenfolge (seit Nuclos 3.10) legst du Abhängigkeiten fest: Beim Ändern/Transfer werden alle Objekte in absteigender Reihenfolge gelöscht und in aufsteigender wieder angelegt. Voraussetzung ist ein Löschstatement je Objekt. |
Zuerst ein Datenbankobjekt mit passendem Typ anlegen: function, index, package, package body, procedure, view. Für jedes unterstützte Datenbanksystem kann ein eigenes Objekt hinterlegt werden; herangezogen wird das des aktiven Systems.
Soll eine Function für ein berechnetes Attribut dienen, muss ihr Name mit |

Datenbankobjekt anlegen und Typ zuweisen.
Im Datenbankobjekt-Quelltext (Konfiguration → Datenbank → Datenbankobjekt-Quelltexte) trägst du den DB-spezifischen Code ein. Ist Aktiv gesetzt, wird das Objekt beim Speichern erzeugt/aktualisiert. Den Schema-/DB-Namen setzt Nuclos automatisch davor – nicht selbst angeben. Die Löschanweisung wird beim Löschen des Datensatzes ausgeführt.

Maske „Datenbankobjekt-Quelltext“.
CREATE OR REPLACE FUNCTION <name>(imoduleid numeric) RETURNS numeric AS $BODY$ $BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100;v |
CREATE OR REPLACE FUNCTION GET_NEXT_NUMBER(imoduleid numeric) RETURNS numeric AS $BODY$ DECLARE iresult NUMERIC (20, 0); BEGIN SELECT intnaechstenummer INTO iresult FROM t_eo_nummern WHERE strbezeichnung = 'Kundennummer'; RETURN iresult; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; |
DROP FUNCTION IF EXISTS GET_NEXT_NUMBER(imoduleid numeric) CASCADE |
Bei PostgreSQL muss immer eine Löschanweisung angegeben werden. |