Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Auszug
hiddentrue

Nuclos Datenbankobjekte: Views, Funktionen, Prozeduren, Nuclet-Transfer, Reihenfolge, Löschanweisung, CA_-Funktionen, PostgreSQL/Oracle.

globe with meridians Sprache: Deutsch · English

hammer and wrench Datenbankobjekte

Eigene Views, Funktionen und Prozeduren als Teil eines Nuclets – inkl. Reihenfolge/Löschanweisung und CA_-Konvention.

Status
colourPurple
titleHow-to
Status
colourBlue
titleAnwendungsentwickler
Status
colourGreen
titleStand: Jul 2026
Status
colourGrey
titlegilt fuer Nuclos 4.2026.x

Panel
bgColor#F4F5F7

Auf dieser Seite

Inhalt
maxLevel2
minLevel

Definition

Menüaufruf: (Konfiguration) - (Datenbank) - (Datenbankobjekte)

2

Was sind Datenbankobjekte?

...

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

Info
titleAbhängigkeiten unter PostgreSQL

Ü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.

Objekt anlegen

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.

Warnung
titleNamenskonvention

Soll eine Function für ein berechnetes Attribut dienen, muss ihr Name mit CA_ beginnen – nur solche Objekte erscheinen im BO-Assistenten zur Auswahl.

Image Added

Datenbankobjekt anlegen und Typ zuweisen.

Quelltext eintragen

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.

Image Added

Maske „Datenbankobjekt-Quelltext“.

Funktions-Rumpf (PostgreSQL)

Codeblock
languagesql
CREATE OR REPLACE FUNCTION <name>(imoduleid numeric)
  RETURNS numeric AS
$BODY$
  
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;v

Beispiel

Codeblock
languagesql
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;

Löschanweisung (PostgreSQL)

Codeblock
languagesql
DROP FUNCTION IF EXISTS GET_NEXT_NUMBER(imoduleid numeric) CASCADE
Warnung
titleAchtung

Bei PostgreSQL muss immer eine Löschanweisung angegeben werden.

Verwandte Seiten

bar chart Berechnete Attribute


CA_-Funktionen.

Öffnen →

file cabinet Datenquellen


Datenquellen.

Öffnen →

"Löschstatement" (letztes Feld in der Maske "Datenbankobjektquelltext") angelegt ist, welches Nuclos heranzieht, um die Löschung durchzuführen (z.B. "DELETE FUNCTION...").

Dieses Vorgehen liefert auch ein gutes Indiz dafür, ob nach Änderungen einzelner Datenbankobjekte alle Datenbankobjekte weiterhin fehlerfrei zusammenspielen, der erfolgreiche Abschluss des vollständigen Löschens und Erstellens wird mit einer entsprechenden Erfolgsmeldung quittiert.

Datenbanktypen

Hier sind die unterstützten Datenbanksysteme aufgelistet. Es können Objekte für die jeweiligen Datenbanksysteme auch mehrfach angelegt werden, um z.B. ein System von einer Datenbank auf eine andere zu portieren. Es werden immer die Datenbankobjekte vom jeweils eingesetzten Datenbanksystem herangezogen.

Image Removed

Datenbankobjekte 

Zunächst muss ein Datenbankobjekt angelegt und ein entsprechender Typ zugewiesen werden. Es stehen folgende Typen zur Auswahl:

  • function
  • index
  • package
  • package body
  • procedure
  • view

Bitte beachten Sie, wenn eine Function für ein berechnetes Attribut eingesetzt werden soll, muss der Name des Datenbankobjektes mit CA_ beginnen. Nur diese Objekte stehen in der Auswahl einer Berechnungsvorschrift im Entitätenwizard zur Verfügung.

Image Removed