Die Ohrnummer muss 14-stellig mit 2 Buchstaben und 12 Zahlen sein
OHR [not] similar to '[A-Z]{2}[0-9]{12}'
Die Herdbuchnummer ist 8 (mit BIC) oder 6-stellig nur mit Ziffern
HB [not] similar to '([0-9]{6}|[0-9]{8})'Tags: Firebird SQL
ab Firebird 1.5 kann man einen Trigger erstellen, der für mehrere Ereignisse zuständig ist.
Beispiel:
create trigger trigger_adressen for adressen before insert or update or delete as begin ... end
Um zu erkennen, in welche Aktion der Tabelle aufgerufen wurde, gibt es die neuen Variablen
INSERTING, UPDATING und DELETING
Beispiel:
create trigger trigger_adressen for adressen before insert or update or delete as begin if (deleting) then proc(old.ID); else proc(new.ID); end
Tags: Firebird SQL
Diese Prozedur gibt 1 zurück falls s eine Zahl ist ansonsten eine 0.
CREATE PROCEDURE ISZAHL (S VARCHAR (100)) RETURNS (ISZAHL SMALLINT) AS declare variable l integer; declare variable i integer; declare variable c char(1); BEGIN l=char_length(s); if (s is null or l=0) then ISZAHL=0; else begin i=1; ISZAHL=1; while (i<=l and ISZAHL=1) do begin c=substring(S from i for 1); if (c between '0' and '9' or (i=1 and c in ('+','-'))) then i=i+1; else ISZAHL=0; end end SUSPEND; ENDTags: Firebird SQL
coalesce - einen Wert ungleich NULL zurückbekommen
select coalesce(Name1,Name2,Name3,'Ich') as IMMERNAME from KUNDEN
nullif - null zurückgeben, falls Parameter 1 = Parameter 2 oder Parameter 1 ist null
select nullif(Name1,ZName1) as NAME from KUNDEN
Tags: Firebird SQL