metleck Geschrieben 20. April 2006 Geschrieben 20. April 2006 hab den fehler gefunden... keine spezifikation gemacht... (kann man seine eigenen Beiträge löschen)
Ramses_PyramidenVerleih Geschrieben 20. April 2006 Geschrieben 20. April 2006 Vielleicht lässt du deine Frage hier drin und schreibst dazu, wie du sie gelöst hast! Dann können andere auch davon profitieren, wenn sie mal das selbe Problem haben!
metleck Geschrieben 20. April 2006 Autor Geschrieben 20. April 2006 Also ich habe eine Funktione erstellt. Nach dem ich das Package-Body erstellt hatte, wollte ich diese ausführen. Da kam aber eine Fehlermeldung: Komponente ERSETZEN muss deklariert werden. ERSETZEN ist meine Prozedur. Dann hab ich aber gemerkt das ich gar keine Spezifikation hab... eine gemacht und schon hats funktioniert.
metleck Geschrieben 20. April 2006 Autor Geschrieben 20. April 2006 kann mir jeman dasgen, wie ich eine funktion noch ausführen kann oder geht das nur so: declare RET VARCHAR2(32767); BEGIN ret := ANKE.ERSETZEN('Streuner', 'e', 'd'); dbms_output.put_line(ret); END;
Amstelchen Geschrieben 20. April 2006 Geschrieben 20. April 2006 kann mir jeman dasgen, wie ich eine funktion noch ausführen kann oder geht das nur so anders als allenfalls noch mit EXEC kenn ichs nicht. EXEC rueckgabewert := PACKAGE.FUNKTION('parameter','parameter',...) wieso würdest du die funktion anders ausführen wollen? s'Amstel
metleck Geschrieben 20. April 2006 Autor Geschrieben 20. April 2006 hm damit klappts wohl nicht. mir hat jemand gesagt das man das ganze auch mit call machen könnte. dazu hab ich aber nichts gefunden. ich denke mal call funktioniert nur bei prozeduren?!
escito83 Geschrieben 20. April 2006 Geschrieben 20. April 2006 man kann eine function uch wie folgt ausführen: select package.function into ls_ergebnis from dual;
metleck Geschrieben 20. April 2006 Autor Geschrieben 20. April 2006 ah cool danke! da kann man ja direkt die ganze Tabelle bearbeiten! Hab aber nochmal eine Frage: Wie kann man die Länge von Variablen bestimmen? Ich brauch die Länge von NACHNAME geht das so CHR(NACHNAME) ?
Amstelchen Geschrieben 20. April 2006 Geschrieben 20. April 2006 select length('hallo') from dual; 5 CHR liefert das ascii-zeichen: select chr(65) from dual; A im gegensatz zur ascii-nummer des zeichens: select ascii('A') from dual; 65 s'Amstel
metleck Geschrieben 21. April 2006 Autor Geschrieben 21. April 2006 Morgen! Also was ich wollte, war bei einem Wort den vorderen mit dem hinteren Buchstaben tauschen. FUNCTION TAUSCHEN (NACHNAME VARCHAR2)RETURN VARCHAR IS RET VARCHAR2(32767); X VARCHAR2(32767); Y VARCHAR2(32767); Z VARCHAR2(32767); BEGIN X := SUBSTR(NACHNAME, 1,1); Y := SUBSTR(NACHNAME, (*** ); Z := SUBSTR(NACHNAME, -1,1); RET := UPPER(Z) || Y || LOWER(X); RETURN RET; END TAUSCHEN; END ANKE; *** Da soll halt stehen (1, letzten Buchstaben weglassen) aber wie schaffe ich es, das er den letzten Buchstaben weglässt? ich dachte halt Nachname-1.
Amstelchen Geschrieben 21. April 2006 Geschrieben 21. April 2006 X := SUBSTR(NACHNAME, 1,1); Y := SUBSTR(NACHNAME, 2, LENGTH(NACHNAME)-2); Z := SUBSTR(NACHNAME, -1,1); select tauschen('Hallo') from dual Oallh s'Amstel
metleck Geschrieben 21. April 2006 Autor Geschrieben 21. April 2006 ahja cool danke ich hatte die -2 in der klammer...blöder fehler
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden