Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Currywurst mit Pommes

Erfahrener Schreiberling

  • "Currywurst mit Pommes" started this thread

Posts: 438

Date of registration: Oct 14th 2002

1

Saturday, May 26th 2007, 1:57pm

SQL, Übungsblatt 07

Hi,

wieso wollen gespeicherte SQL Funktionen/Prozeduren bei mir nicht funktionieren ?

Als anonyme Blocks funktionieren sie wunderbar:

Source code

1
2
3
4
5
DECLARE
    ...
BEGIN
   ...
END;


Dann speichere ich sie als Prozedur/Funktion:

Source code

1
2
3
4
5
6
7
8
CREATE PROCEDURE find_ancestors
   (...)
IS
DECLARE
    ...
BEGIN
   ...
END;


Und das funktioniert auch (OK.).

Wenn ich sie aber schließlich verwenden will (in SELECT oder aber zwischen BEGIN/END), bekomme ich immer Fehlermeldung

PLS-00905: Objekt XXXX.FIND_ANCESTORS is ungültig
Manchmal gibt es auch einen anderen Fehlertext (Ungültiger Zustand oder so).

Es will nicht funktionieren... :(

CrissCross

Erfahrener Schreiberling

  • "CrissCross" is male

Posts: 282

Date of registration: Feb 15th 2005

2

Saturday, May 26th 2007, 2:43pm

Quoted


CREATE PROCEDURE find_ancestors
(...)
IS DECLARE
...
BEGIN

END;


Das ist syntaktisch auch nicht richtig: Es muss heißen
CREATE PROCEDURE find_ancestors
IS
(...)
BEGIN
...

END;

(Also "DECLARE" weglassen)
"Technology is easy - people are hard."

(John Gage - Sun Microsystems zum Thema warum IT-Projekte scheitern)

Currywurst mit Pommes

Erfahrener Schreiberling

  • "Currywurst mit Pommes" started this thread

Posts: 438

Date of registration: Oct 14th 2002

3

Saturday, May 26th 2007, 4:03pm

Das wars ! Danke :)

Adler07

Trainee

  • "Adler07" is male

Posts: 54

Date of registration: Feb 25th 2007

Occupation: Informatik

4

Monday, May 28th 2007, 9:45pm

RE: SQL, Übungsblatt 07

Hallo,

Sollte man hier für For- und While-Schleife geschachtelt schreiben oder anderes?

Wie kann man verschiedene echte Teiler einer Zahl als Ergebnis ausgeben und Wie sieht das Ergebnis aus??

Danke!

Currywurst mit Pommes

Erfahrener Schreiberling

  • "Currywurst mit Pommes" started this thread

Posts: 438

Date of registration: Oct 14th 2002

5

Tuesday, May 29th 2007, 3:09pm

RE: SQL, Übungsblatt 07

Du solltest schreiben, welche Aufgabe du meinst.

- Die For und While Schleife wirst du geschachtelt schreiben müssen.(Für jede Zahl, jeden echten Teiler)

- Du sollst die echten Teiler nicht gleich als Ergebnis ausgeben, sondern diese in der Tabelle speichern. Und dann musst du ja einfach nur ein SELECT ... verwenden um die Zahlen und Teiler auszugeben.

Zahl, Teiler
1 1
2 1
...

usw.

Mache Zahlen haben natürlich mehr als nur einen echten Teiler.

Adler07

Trainee

  • "Adler07" is male

Posts: 54

Date of registration: Feb 25th 2007

Occupation: Informatik

6

Tuesday, May 29th 2007, 10:19pm

Danke

Danke,das Problem habe ich schon gelöst.

Bei A2 bekomme ich eine Warnung

Funktion wurde mit Kompilierungsfehlern erstellt.

weiß jemand warum?

Danke

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

7

Wednesday, May 30th 2007, 12:54pm

RE: Danke

Quoted

Original von Adler07
Funktion wurde mit Kompilierungsfehlern erstellt.
Hast du einmal "show errors" ausgeführt? Damit wird die Liste der Fehler und ihre genaue Position angezeigt.
tar: Anlegen eines leeren Archivs wird feige verweigert.

pythong

Trainee

  • "pythong" is male

Posts: 112

Date of registration: Oct 23rd 2005

Location: Ehemals Preußisches Gebiet

Occupation: Ehemals Studentenquäler. I'm finally done with school!

8

Thursday, May 31st 2007, 7:18pm

@Currywurst
übrigens stimmt der anfang deiner tabelle nicht. 1 hat keine echten teiler, da t<n sein muss, also fängt die tabelle wie folgt an:
2 1
3 1
4 1
4 2
5 1
6 1
6 2
6 3
7 1
don't ask me, google it

Currywurst mit Pommes

Erfahrener Schreiberling

  • "Currywurst mit Pommes" started this thread

Posts: 438

Date of registration: Oct 14th 2002

9

Friday, June 1st 2007, 8:09am

@phytong:

ja, hast recht - hatte die zahlen nur aus dem kopf hingeschrieben :) in meiner sql tabelle stimmts aber.