![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: FBLib
Check-Constraint vs. Trigger - was ist performanter?
Ich möchte in einem Feld keine Strings zulassen, die leer sind oder nur aus Leerzeichen bestehen. Nun könnte ich mir eine Check-Constraint definieren oder das über einen Trigger abfangen. Der Trigger hätte den Vorteil, dass ich im Fehlerfall eine selbst definierte Exception werfen könnte. Aber wie sieht das im Hinblick auf die Performance aus?
Danke schonmal fürs Lesen. |
Re: Check-Constraint vs. Trigger - was ist performanter?
Ich habe es nicht getestet, aber Checks haben den Vorteil, dass du sie bereits in einer Domain definieren kannst.
Du kannst dir also einen Feldtypen bauen, der nicht "leer" sein darf, und kein weiterer Gedanke ist nötig um es auch an anderen Stellen nutzen zu können. btw: Seit Firebird 2.1 können Domains auch für SProc-Parameter genutzt werden. :-) |
Re: Check-Constraint vs. Trigger - was ist performanter?
Danke Robert für die Antwort, aber ich habe nicht ganz verstanden, wie ich so eine Domain deklarieren müsste.
SQL-Code:
So in etwa?
CREATE DOMAIN Wuppdi AS VARCHAR(50) CHECK (CHAR_LENGTH(TRIM(VALUE)) > 0)
|
Re: Check-Constraint vs. Trigger - was ist performanter?
Fast:
SQL-Code:
create domain Wuppdi as
VarChar(50) not null check (Trim(Value) <> ''); |
Re: Check-Constraint vs. Trigger - was ist performanter?
Herzlichen Dank, probiere ich heute Abend sofort aus :cheers:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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