name

navn (eventuelt skjema-kvalifiserte) av prosedyren for å opprette.

argmode

modus for et argument: IN, INOUT, eller VARIADIC. Hvis utelatt, standard er IN. (OUT argumentene er for tiden ikke støtte for prosedyrer. Bruk INOUT i stedet.)

argname

navnet på et argument.,

argtype

datatype(s) av prosedyren anførsler (eventuelt skjema-kvalifiserte), hvis noen. Argumentet typer kan være base, kompositt, eller domene typer, eller kan henvise til den type en tabellkolonne.

Avhengig av gjennomføringen språk det kan også være tillatt å angi «pseudo-typer», for eksempel cstring. Pseudo-typer indikerer at den faktiske argumentet type er enten ufullstendig angitte eller utenfor sett av vanlige SQL datatyper.

skriv inn av en kolonne er det refereres til ved å skrive table_name.,column_name%TYPE. Ved hjelp av denne funksjonen kan noen ganger bidra til å gjøre en prosedyre som er uavhengig av endringer i definisjonen av en tabell.

default_expr

Et uttrykk for å bli brukt som standard verdi hvis parameteren ikke er angitt. Uttrykket må være coercible til argumentet type parameter. Alle parametere følgende parameter med en standardverdi må ha standard verdier som godt.

lang_name

navnet på språket at prosedyren er gjennomført i., Det kan være sql, c, internal, eller navnet på en bruker-definert prosessuelle språk, f.eks., plpgsql. Vedlagt navnet i enkle anførselstegn er ugyldig, og krever matchende tilfelle.

TRANSFORM { FOR TYPE type_name } }

Lister som forvandler et anrop til den prosedyren som bør gjelde. Forvandler konvertere mellom SQL-typer og språk-spesifikke datatyper, se OPPRETTE TRANSFORM. Prosessuelle språk implementeringer som regel har faste kunnskap om den innebygde typer, så de trenger ikke å være oppført her., Hvis en saksbehandlingsfeil språk gjennomføringen ikke vet hvordan de skal håndtere en type og ingen forvandle er levert, vil det falle tilbake til en standard virkemåte for konvertering av datatyper, men dette avhenger av gjennomføringen.

SECURITY INVOKER
SECURITY DEFINER

SECURITY INVOKER angir at prosedyren skal utføres med rettighetene til den brukeren som kaller det. Som standard. SECURITY DEFINER angir at prosedyren skal utføres med rettighetene til brukeren som eier den.,

nøkkelord EXTERNAL er tillatt for SQL avvik, men det er valgfritt siden, i motsetning til i SQL, er denne funksjonen gjelder for alle prosedyrer ikke bare ytre seg.

En SECURITY DEFINER prosedyren ikke kan utføre transaksjonen kontroll-setninger (for eksempel COMMIT og ROLLBACK, avhengig av hvilket språk).,

configuration_parameter
value

SET klausulen fører til den angitte konfigurasjon parameter for å bli satt til den oppgitte verdien når prosedyren er angitt, og deretter restaurert til sin tidligere verdi når prosedyren går ut. SET FROM CURRENT lagrer verdien av parameteren som er gjeldende når CREATE PROCEDURE utføres som verdi skal anvendes når prosedyren er angitt.,

Hvis en SET klausulen er knyttet til en prosedyre, da effekten av en SET LOCAL utførte kommandoen inne i prosedyre for samme variabel er begrenset til prosedyre: konfigurasjon parameterens verdi før er fortsatt gjenopprettes på prosedyre avslutt., Imidlertid, en vanlig SET – kommandoen (uten LOCAL) overstyrer SET klausulen, mye som det ville gjøre for en tidligere SET LOCAL – kommandoen: virkninger av en slik kommando vil vedvare etter prosedyren exit, med mindre den aktuelle transaksjonen er rullet tilbake.

Hvis en SET klausulen er knyttet til en prosedyre, så at prosedyren ikke kan utføre transaksjonen kontroll-setninger (for eksempel COMMIT og ROLLBACK, avhengig av hvilket språk).,

Se SATT og Kapittel 19 for mer informasjon om tillatt parameter navn og verdier.

definition

En streng konstant definere prosedyre; meningen er avhengig av språket. Det kan være en intern prosedyre navn, banen til et objekt fil, en SQL-kommando, eller tekst i en prosessuell språk.

Det er ofte nyttig å bruke dollar sitere (se Punkt 4.1.2.4) for å skrive prosedyren streng definisjon, snarere enn den normale enkelt sitat syntaks. Uten dollar sitere, noen enkle anførselstegn eller omvendte skråstreker i prosedyren definisjon må være rømt ved å doble dem.,

obj_file, link_symbol

Denne formen for AS klausulen er brukt for dynamisk lastbare C-språk prosedyrer når prosedyren navn i C-språk kildekoden er ikke det samme som navnet på SQL-prosedyren. Strengen obj_file er navnet på delt bibliotek-fil som inneholder kompilert C-prosedyre, og er tolket som for LASTE-kommandoen. Strengen link_symbol er prosedyren er lenke-symbolet, som er navnet på prosedyre i C-språk kildekoden., Hvis koblingen symbolet er utelatt, antas å være det samme som navnet på SQL-prosedyren bli definert.

Når det gjentas CREATE PROCEDURE anrop refererer til samme objekt-fil er bare lagt inn en gang per økt. For å losse og laste filen (kanskje under utvikling), starte en ny økt.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *