Kom godt i gang med SQL

Brugerdefinerede funktioner

Som nævnt under Funktioner, indeholder DB2 Universal Database indbyggede og brugerdefinerede funktioner. Disse funktioner kan imidlertid ikke dække alle behov. I mange tilfælde vil du få brug for at tilpasse funktioner til bestemte opgaver. Med brugerdefinerede funktioner kan du oprette sådanne funktioner.

Der er fire typer brugerdefinerede funktioner: SOURCE (kilde), EXTERNAL SCALAR (ekstern skalar), EXTERNAL TABLE (ekstern tabel) og OLE DB EXTERNAL TABLE.

Dette afsnit omhandler SOURCE- og EXTERNAL SCALAR-typer. Der er flere oplysninger om EXTERNAL TABLE- og OLE DB EXTERNAL TABLE-typer i SQL Reference.

Brugerdefinerede kildefunktioner gør det muligt for brugerdefinerede typer selektivt at henvise til en anden indbygget eller brugerdefineret funktion, som databasen allerede kender. Du kan bruge både skalare funktioner og beregningsfunktioner.

I det næste eksempel oprettes en brugerdefineret funktion (MAX), der er baseret på den indbyggede kolonnefunktion MAX, som benytter input med datatypen DECIMAL. Den brugerdefinerede funktion MAX benytter input med typen PAY og returnerer output med typen PAY.

     CREATE FUNCTION MAX(PAY) RETURNS PAY
        SOURCE MAX(DECIMAL)

Eksterne brugerdefinerede funktioner skrives af brugere i et programmeringssprog. Der er eksterne skalarfunktioner og eksterne tabelfunktioner. Begge typer gennemgås i SQL Reference.

Hvis du f.eks. allerede har oprettet en funktion, som tæller antallet af ord i en streng, kan du registrere den i databasen vha. CREATE FUNCTION-sætningen og give den navnet WORDCOUNT. Funktionen kan så bruges i SQL-sætninger.

Nedenstående sætning returnerer f.eks. personalenumre og antal ord i medarbejdernes CV i ASCII-format. WORDCOUNT er en ekstern skalarfunktion, som brugeren har registreret i databasen, og som nu bruges i sætningen.

 
     SELECT EMPNO, WORDCOUNT(RESUME)
        FROM EMP_RESUME
        WHERE RESUME_FORMAT = 'ascii'

Der er flere oplysninger om oprettelse af brugerdefinerede funktioner i Application Development Guide.


[ Øverst på siden | Forrige side | Næste side | Indholdsfortegnelse | Stikordsregister ]