fur dummies: UDF - Procedures

22/03/2010 - 10:56 von Nicole Wagner | Report spam
Hallo User,


in meinen Buechern ist erklaert, dass es bei Firebird UDFs und
Procedures gibt.

Wie sieht das in der Praxis aus?
Wann ist eines guenstiger als das andere?


Cheryll
 

Lesen sie die antworten

#1 Achim Kalwa
22/03/2010 - 13:53 | Warnen spam
Hallo Nicole,

Nicole Wagner wrote:

in meinen Buechern ist erklaert, dass es bei Firebird UDFs und
Procedures gibt.

Wie sieht das in der Praxis aus?
Wann ist eines guenstiger als das andere?



Mit User Defined Functions kannst Du Dinge implementieren, die per SQL
nicht oder nur umstàndlich zu erledigen sind. Beispiel: Cosinus ("cos")
eines Winkels berechnen; oder die Quadratwurzel ziehen, usw:

select COS(ALPHA) from TABELLE;
select SQRT(WERT) from TABELLE;


UDFs stecken in DLLs (Windows) bzw. SO-Dateien (*nix).

Bevor Du eine UDF in Deiner Datenbank verwenden kannst, müssen zwei
Voraussetzungen erfüllt sein:
- die passende DLL muss im Verzeichnis Firebird\UDF\ liegen.
- die Funktionen in der DLL müssen der Datenbank bekannt gemacht werden.

Schau Dir mal die Dateien ib_udf.sql und fbudf.sql in Deiner
Firebird-Installaiton an; da siehst Du welche Funktionen durch Einbinden
dieser mitgelieferten UDF-Bibliothek angesprochen werden können.

Ich benötige z.B. BIN_AND aus ib_udf.dll, um auf einzelne Bits in einem
Integer testen zu können:

select * from AUFTRAG where (BIN_AND(STATUS, 16) <> 0)

Bevor Du anfàngst, eigene UDFs zu erstellen (das geht z.B. mit Delphi...
zumindest für die 32-Bit Firebird unter Win32) schau Dir mal diese
Sammlung von UDFs an:

http://www.ibphoenix.com/main.nfs?a...p_udf_libs

HTH
Achim

Ähnliche fragen