Announcement

Collapse
No announcement yet.

Funktion in SQL Statement ausführen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Funktion in SQL Statement ausführen

    Hallo Zusammen,

    ich habe bisher stored functions in einer Datenbank definiert, die ich innerhalb eines SQL Statements angewendet habe - kein Problem!
    Jetzt darf ich aber keine stored functions mehr benutzen, da ich nur die Daten in der Datenbank editieren darf. Funktionen und Proceduren und und und dürfen nicht benutzt werden.

    Gibt es eine Möglichkeit, die Funktionen innerhalb eines SQL Statements zu definieren und auszuführen?

    Leider muss alles innerhalb eines Statements passieren.

    Anregungen und/oder Lösungen wären traumhaft!!!

    Schöne Grüße,

    Jan

  • #2
    Originally posted by Orkii View Post
    Hallo Zusammen,

    ich habe bisher stored functions in einer Datenbank definiert, die ich innerhalb eines SQL Statements angewendet habe - kein Problem!
    Jetzt darf ich aber keine stored functions mehr benutzen, da ich nur die Daten in der Datenbank editieren darf. Funktionen und Proceduren und und und dürfen nicht benutzt werden.

    Gibt es eine Möglichkeit, die Funktionen innerhalb eines SQL Statements zu definieren und auszuführen?

    Leider muss alles innerhalb eines Statements passieren.

    Anregungen und/oder Lösungen wären traumhaft!!!

    Schöne Grüße,

    Jan
    Hallo,


    - welche Datenbankversion ist es denn ?


    Gruss

    Comment


    • #3
      Es handelt sich um eine Oracle 10.2.0 Datenbank.

      Gruß, Jan

      P.S.: Um es zu verdeutlichen:
      Ich hatte mir folgende Funktion definiert:

      create or replace function dec2oct (decval in number) return varchar2
      IS
      octval varchar2(64);
      decval2 number := decval;
      BEGIN
      while (decval2 > 0)
      loop
      octval := mod(decval2, 8) || octval;
      decval2 := trunc( decval2 / 8 );
      end loop;
      return octval;
      END dec2oct;

      Dann wurde folgendes SQL Statement ausgeführt:
      Select dec2oct(Emitter.ID) From Emitter

      Jetzt darf ich halt auf dec2oct nicht mehr zugreifen, sondern muss die Emitter.ID innerhalb des Statements umrechnen.
      Ist dies überhaupt möglich?
      Zuletzt editiert von Orkii; 18.03.2009, 08:50.

      Comment


      • #4
        Hallo, Jan,

        wenn du keine Rechte für die Funktionen hast, wirst du wohl die Fkt. auf anderen Wegen im Select nachbilden müssen. Für die Oktal-Umrechnung habe ich mal so was irgendwo gefunden:

        select x,
        ( select sum(power(10,rownum-1)*
        trunc(mod(x,power(8,rownum))/power(8,rownum-1)))
        from ( select null from dual group by cube(1,2,3,4,5,6,7))
        where rownum < ln(x)/ln(8)+1 ) B3
        from (select 100 x from dual);

        Vielleicht hilft dir das ja.

        Gruß

        Ralf

        Comment

        Working...
        X