Anzeige:
Ergebnis 1 bis 4 von 4

Thema: PL/SQL Übergabe Parameter

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.02.2007
    Beiträge
    22

    PL/SQL Übergabe Parameter

    Hallo!

    Frage zu den Übergabeparametern bei einer Function:
    Gibt es eine Möglichkeit, wenn ich einen Übergabeparameter auslasse, dass ich in der Function dann rausfinden kann, ob ich nun dieser übergeben wurde oder nicht? geht das mit IF param1 IS NULL ?
    Oder ist es generell nicht möglich, einen Übergabeparameter auszulassen, dann müsste ich mir beim Aufruf einen Dummywert setzen (bsp: -1), und in der Function abfragen wenn -1 dann wurde eben nichts übergeben.

    danke,
    Klaus

  2. #2
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    Nein, du musst in einer Function immer genauso viel Parameter übergeben wie im Header angegeben sind. Beim schreiben von mehreren Functions mit dem gleichen Namen bin ich mir unsicher, denke aber dass dies möglich ist, wenn du verschiedene Parameter hast.

    Du kannst aber statt eines Parameters null übergeben, solange die Anzahl stimmt. Dann musst du natürlich mit is null abfragen, sofern notwendig. Dummyparameter sind auch ok.

    mfg, christian
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677
    Das Overloading in PL/SQL ist -wie in C- so realisiert, dass man eine Funktion mehrmals mit verschiedenen Argumenten deklarieren kann. Beim Aufruf wird dann aber auch immer nur eine (und zwar die passende) aufgerufen.

    Es kann also nicht sein, dass Code von einer Funktion mit fünf Argumenten ausgeführt wird, wenn diese Funktion mit vier Argumenten aufegrufen wurde.

  4. #4
    Registrierter Benutzer Avatar von Waxolunist
    Registriert seit
    19.06.2006
    Ort
    Wien
    Beiträge
    485
    Also doch. Ich war mir ja nur unsicher, ob Oracle mehrere Procedures mit dem selben Namen in einem Package überhaupt erlaubt.
    Spezialitäten heute: PLSQL, TSQL, Java (alles mit Webanwendungen), Groovy, Grails, ASP.NET, Javascript, Python, Django
    Straight through, ohne Umwege ans Ziel

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •