AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

anzahl DS begrenzen

Ein Thema von khh · begonnen am 3. Jun 2010 · letzter Beitrag vom 3. Jun 2010
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

anzahl DS begrenzen

  Alt 3. Jun 2010, 10:38
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
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
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: anzahl DS begrenzen

  Alt 3. Jun 2010, 10:40
Könnte man durch einen Trigger machen. Ich würde aber mal überprüfen, ob das überhaupt sinnvoll ist.
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#3

Re: anzahl DS begrenzen

  Alt 3. Jun 2010, 10:43
Zitat von mkinzler:
Könnte man durch einen Trigger machen. Ich würde aber mal überprüfen, ob das überhaupt sinnvoll ist.
der Sinn der Sache ist, dass es eine "Ligth-version" geben soll, die eben die Anzahl DS begrenzt.

Wie würdest du das über den Trigger umsetzen?
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: anzahl DS begrenzen

  Alt 3. Jun 2010, 10:59
In einem BEFORE INSERT Trigger überprüfen ob die maximale Anzahl schon erreicht ist. Wenn ja Exception auslösen
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#5

Re: anzahl DS begrenzen

  Alt 3. Jun 2010, 11:02
Zitat von mkinzler:
In einem BEFORE INSERT Trigger überprüfen ob die maximale Anzahl schon erreicht ist. Wenn ja Exception auslösen
klaro
ich danke dir


Gruss KHH
Karl-Heinz
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#6

Re: anzahl DS begrenzen

  Alt 3. Jun 2010, 11:12
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: anzahl DS begrenzen

  Alt 3. Jun 2010, 11:23
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:

CREATE EXCEPTION MAXDS 'Die maximale Anzahl Datensätze ist erreicht'; Ich würde es aber in deinem Fall auch nicht so machen
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#8

Re: anzahl DS begrenzen

  Alt 3. Jun 2010, 11:36
Zitat von idefix2:
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.

ich danke euch,
ich frage die Anzahl jetzt im Programm ab, ist wohl sicherer.


Gruss KHH
Karl-Heinz
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz