![]() |
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
anzahl DS begrenzen
hallo zusammen,
gibt es ne Möglichkeit in firebird zu hinterlegen, dass in einer bestimmte Tabelle nicht mehr als x ds gespeichert werden können, oder muss ich das programmtechnisch lösen? Danke Gruss KHH |
Re: anzahl DS begrenzen
Könnte man durch einen Trigger machen. Ich würde aber mal überprüfen, ob das überhaupt sinnvoll ist.
|
Re: anzahl DS begrenzen
Zitat:
Wie würdest du das über den Trigger umsetzen? |
Re: anzahl DS begrenzen
In einem BEFORE INSERT Trigger überprüfen ob die maximale Anzahl schon erreicht ist. Wenn ja Exception auslösen
|
Re: anzahl DS begrenzen
Zitat:
ich danke dir Gruss KHH |
Re: anzahl DS begrenzen
Eine "Light Version" in der Datenbank zu verankern, ist allerdings vielleicht nicht sehr zielführend, weil ein "drop trigger" im isql fällt bald einmal jemandem ein, und dann ist das light weg. Wenn das halbwegs hacksicher sein soll, würde ich eher im Programm die Recordzahl überprüfen. Oder zumindest bei jedem Programmstart der Lightversion überprüfen, ob die Recordzahl noch unter der Grenze ist, und das Programm abbrechen, wenn es nicht der fall ist.
|
Re: anzahl DS begrenzen
SQL-Code:
CREATE OR ALTER TRIGGER <Triggername> FOR <Tabellenname>
ACTIVE BEFORE INSERT POSITION 0 AS declare cnt integer; begin select count(id) from <Tabellenname> into cnt; if (cnt >= 3) then exception MAXDS; end Vorher Exception erzeugen:
SQL-Code:
Ich würde es aber in deinem Fall auch nicht so machen
CREATE EXCEPTION MAXDS 'Die maximale Anzahl Datensätze ist erreicht';
|
Re: anzahl DS begrenzen
Zitat:
ich danke euch, ich frage die Anzahl jetzt im Programm ab, ist wohl sicherer. Gruss KHH |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz