Hvordan erstatte en funksjon på Oracle Database

Hvordan erstatte en funksjon på Oracle Database


Fordelen med å ha lagrede funksjoner i en database, er at de lett kan gjenopprettes og endres etter behov. Det hindrer også behovet for å lagre koden for funksjoner og prosedyrer eksternt, som alt er holdt i den sentrale databasen depotet. Skaperen eller erstatte funksjonen kommandoen i Oracle gir en måte å endre eksisterende funksjoner eller lage nye behov. Som systemer og kravene endres, ofte er det nødvendig å endre lagrede prosedyrer for å samsvarer med endringer i det ytre teknologiske miljø.

Bruksanvisning

1 Gå til en PL / SQL kommandolinjen i sqlplus til du blir presentert med "SQL>" ledeteksten.

2 Kode en skape eller erstatte kommandoen for å overskrive den gamle lagrede funksjonen. Syntaksen for den første linjen i en funksjon som heter "test" med en returverdi av varchar2 er:

CREATE OR REPLACE funksjonstest RETURN varchar2 IS

3 Input BEGIN og END uttalelser av den nye funksjonen, inkludert eventuell ny eller endret koden, som følger:

BEGYNNE

-- Additional code here ...

RETURN "noen verdi ';

END test;

/

4 Test den nye funksjonen ved å kjøre noen data, og kontroller at den nye funksjonaliteten fungerer på den måten du forventer det. Hvis den ikke gjør det, bør du vurdere å skrive om funksjon og / eller nye testdata. Den ferdige funksjonen er nå:

CREATE OR REPLACE funksjonstest RETURN varchar2 IS

BEGYNNE

-- Additional code here ...

RETURN "noen verdi ';

END test;

/

Hint

  • Ideelt opprettet eller erstattet funksjoner bør plasseres i en tekstfil og utføres som en helhet fra kommandolinjen ved å bruke navnet på sql filen for å kjøre på kommandolinjen, slik: "SQL> @ function.sql;" Dette vil kjøre kommandoene inne i "function.sql" kommandoen på kommandolinjen, herunder eventuelle funksjonsdefinisjoner som finnes.
  • Funksjoner i Oracle kan ha flere definisjoner, men ulike parametere. Denne prosessen er kjent som "overbelastning." Oracle kjenner fra de parametrene som brukes hvilken versjon av en funksjon eller prosedyre for å kjøre på noe punkt ved hjelp av denne metoden.