Sie sind nicht angemeldet.

motja

Trainee

  • »motja« ist der Autor dieses Themas

Beiträge: 53

Registrierungsdatum: 08.11.2004

1

26.05.2006, 18:31

SQL Blatt6

zu der Aufgabe2.b)

nach dem ich die Funktion quoted_character kreiert habe (endlich mal ohne errors), wollte ich die Funktion ausprobieren und zwar mit:

begin
DBMS_OUTPUT.PUT_LINE (quoted_character ('The Terminator: Hasta la vista, baby.'));
End;
/

darauf bekomme ich folgende Ausgabe:

The Terminator
begin
*

ERROR at line 1:
ORA-06503: PL/SQL: Function returned without value
ORA-06512: at "Benutzername.QUOTED_CHARACTER", line 11
ORA-06512: at line 2
Elapsed: 00:00:00.01

The Terminator wäre hier auch die richtige Antwort.
Weißt jemand woran die Fehlermeldung liegen kann?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »motja« (26.05.2006, 19:39)


motja

Trainee

  • »motja« ist der Autor dieses Themas

Beiträge: 53

Registrierungsdatum: 08.11.2004

2

26.05.2006, 20:00

SQL Blatt6

wenn es euch weiter hilft
- at line 2 steht RETURN
- line 11 das END;

Bei der Aufgabe 2.c) bekomme dieselbe Meldung.
Sieht so aus, dass ich kontinuierlich gleichen Fehler mache.

  • »Joachim« ist männlich

Beiträge: 2 863

Registrierungsdatum: 11.12.2001

Wohnort: Hämelerwald

Beruf: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

3

26.05.2006, 20:34

RE: SQL Blatt6

Zitat

Original von motja
wenn es euch weiter hilft
- at line 2 steht RETURN
- line 11 das END;

Bei der Aufgabe 2.c) bekomme dieselbe Meldung.
Sieht so aus, dass ich kontinuierlich gleichen Fehler mache.
Dann schreib Dir doch erstmal eine ganz einfache Funktion (z. B. eine ohne oder mit nur einem Parameter, die stets denselben Wert ausgibt), die Du ohne Fehlermeldung aufrufen kannst. Wenn das funktioniert, kannst Du diese Funktion schrittweise erweitern und so die Fehlerursache finden.

Ich jedenfalls kann mit diesen Fehlermeldungen nichts anfangen ohne die Deklaration der Funktion zu kennen.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Joachim« (26.05.2006, 20:35)


Jim Rakete

Trainee

  • »Jim Rakete« ist männlich

Beiträge: 50

Registrierungsdatum: 04.06.2005

Beruf: Mathe/Informatik

4

27.05.2006, 09:59

Zitat

Ein Zitat wird meist durch den Namen des Redners eingeleitet, etwa „The Terminator: Hasta la vista, baby.“. Schreiben Sie eine PL/SQLFunktion quoted_character, die den Rollennamen aus einem Zitat zurückliefert, im Beispiel also „The Terminator“.
Sie können davon ausgehen, dass der Rollenname am Anfang des Zitats steht und mit einem Doppelpunkt beendet wird. Ist kein Rollenname zu ermitteln, dann soll der NULLWert zurückgeliefert werden. Ignorieren Sie Zitate, die mit einer eckigen Klammer ([) beginnen oder in denen kein Doppelpunkt vorhanden ist.


Bedeutet das, daß folgende Ausgaben gefordert sind:
quoted_character('The Terminator: Hasta la vista, baby.') --> The Terminator
quoted_character('[The Terminator: Hasta la vista, baby.') --> NULL
quoted_character('The Terminator Hasta la vista, baby.') --> NULL

Oder wie ist das Wörtchen "Ignorieren" hier zu verstehen?

  • »Joachim« ist männlich

Beiträge: 2 863

Registrierungsdatum: 11.12.2001

Wohnort: Hämelerwald

Beruf: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

5

27.05.2006, 10:24

Zitat

Original von Jim Rakete

Zitat

Ein Zitat wird meist durch den Namen des Redners eingeleitet, etwa „The Terminator: Hasta la vista, baby.“. Schreiben Sie eine PL/SQLFunktion quoted_character, die den Rollennamen aus einem Zitat zurückliefert, im Beispiel also „The Terminator“.
Sie können davon ausgehen, dass der Rollenname am Anfang des Zitats steht und mit einem Doppelpunkt beendet wird. Ist kein Rollenname zu ermitteln, dann soll der NULLWert zurückgeliefert werden. Ignorieren Sie Zitate, die mit einer eckigen Klammer ([) beginnen oder in denen kein Doppelpunkt vorhanden ist.


Bedeutet das, daß folgende Ausgaben gefordert sind:
quoted_character('The Terminator: Hasta la vista, baby.') --> The Terminator
quoted_character('[The Terminator: Hasta la vista, baby.') --> NULL
quoted_character('The Terminator Hasta la vista, baby.') --> NULL

Oder wie ist das Wörtchen "Ignorieren" hier zu verstehen?
Ich interpretiere die Aufgabenstellung so wie Du.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

DrChaotica

Senior Schreiberling

  • »DrChaotica« ist männlich

Beiträge: 714

Registrierungsdatum: 22.01.2005

Wohnort: SHG

Beruf: SW-Entwickler

6

27.05.2006, 12:38

Zitat

Original von Jim Rakete
Bedeutet das, daß folgende Ausgaben gefordert sind:
quoted_character('The Terminator: Hasta la vista, baby.') --> The Terminator
quoted_character('[The Terminator: Hasta la vista, baby.') --> NULL
quoted_character('The Terminator Hasta la vista, baby.') --> NULL


So bin ich bei dieser Aufgabe auch vorgegangen, das bringt dich weiter.

Kann schon jemand diese Kettenbruchdarstellung (Aufg. 2f) zum Quotienten 6765/4181 bestätigen? bin gerade zu faul, das nachzurechnen ;-)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2]

masjanja

Praktikant

  • »masjanja« ist weiblich

Beiträge: 4

Registrierungsdatum: 27.05.2006

7

27.05.2006, 18:31

SQL Blatt6

Hallo!
Weiß jemand, was die Funktionen INSTR und SUBSTR liefern? ?(

Jim Rakete

Trainee

  • »Jim Rakete« ist männlich

Beiträge: 50

Registrierungsdatum: 04.06.2005

Beruf: Mathe/Informatik

8

27.05.2006, 18:36

@ Joachim/DrChaotica:
Danke für Eure Hilfe.

@ DrChaotica:
Mein Kettenbruch sieht genauso aus.

@ masjanja:
SUBSTR('HelloWorld',1,5) --> Hello
INSTR('HelloWorld', 'W') --> 6
(Die Grundfunktionen werden in den Folien "01b" vom 21. April erklärt)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Jim Rakete« (27.05.2006, 18:37)


CrissCross

Erfahrener Schreiberling

  • »CrissCross« ist männlich

Beiträge: 282

Registrierungsdatum: 15.02.2005

9

27.05.2006, 18:38

Hier noch ne Seite mit ein paar Oracle Funktionen:

http://www.datenbank-sql.de/sql_funktionen.htm
"Technology is easy - people are hard."

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

masjanja

Praktikant

  • »masjanja« ist weiblich

Beiträge: 4

Registrierungsdatum: 27.05.2006

10

28.05.2006, 21:50

@Jim Rakete
@CrissCross Danke für die Hilfe! =)

iriania

Junior Schreiberling

  • »iriania« ist weiblich

Beiträge: 222

Registrierungsdatum: 24.11.2003

Wohnort: Waqwaq

Beruf: Wie? Ich studiere? seit wann denn?

11

30.05.2006, 10:46

Ich habe gerade mit der 1. Aufgabe angefangen, und Squiggle liefert mir andauernd folgende Fehlermeldung:

Zitat

'missing or invalid option'



Ich dachte zuerst, der Fehler liegt bei mir, doch dann habe ich es mit folgendem Beispiel aus der Vorlesung versucht:

Zitat


SET SERVEROUTPUT ON
DECLARE Myname VARCHAR2(20) := 'John';
BEGIN
DBMS_OUTPUT.PUT_LINE('My name is: '||Myname);
Myname := 'Steven';
DBMS_OUTPUT.PUT_LINE('My name is: '||Myname);
END;


und bekam prompt die gleiche Fehlermeldung.
Hat jemand eine Ahnung, woran das liegen könnte?

edit: mit isql*plus funktioniert es!
...und sie dreht sich doch!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »iriania« (30.05.2006, 10:51)


DrChaotica

Senior Schreiberling

  • »DrChaotica« ist männlich

Beiträge: 714

Registrierungsdatum: 22.01.2005

Wohnort: SHG

Beruf: SW-Entwickler

12

30.05.2006, 11:04

Ohne "SET SERVEROUTPUT ON" funktioniert es bei mir. Christian meinte während seiner letzten Übung ja auch, dass wir diese Option bei Squiggle vergessen könnten, weil der Output hier standardmäßig eingeschaltet ist, oder so ähnlich.

Bei mir war es dafür seltsamerweise so, dass die Fehlermeldungen ohne jeden erkennbaren Grund auf einmal nicht mehr ausgegeben wurden, ich mußte sie mir ab dem Zeitpunkt jedesmal selbst aus USER_ERRORS zusammensuchen ?(

cst

Praktikant

  • »cst« ist männlich

Beiträge: 24

Registrierungsdatum: 01.06.2005

Wohnort: Wunstorf

13

30.05.2006, 13:35

SQuiggLe versteht keine zwei Befehle gleichzeitig und "SET ..." + "DECLARE...BEGIN...END" sind zwei Befehle. (Außerdem macht SQuiggLe noch etwas mysteriöse Umformungen mit der Eingabe und schickt sie nicht direkt an das DBMS.)
Wie schon gesagt benötigt man "SET SERVEROUTPUT ON" bei SQuiggLe aber nicht.
Das mit den USER_ERRORS kann ich mir nicht erklären.

Übrigens, ich hab mir schon ein paar Abgaben angesehen und für Aufgabe 2c) genügt ein (Geburts-)datum als Argument der Funktion AGE. (Eine Personennummer mit entsprechendem SELECT...INTO lasse ich auch gelten, SQL in PL/SQL war aber offiziell noch nicht dran.)

Kadafi

Praktikant

  • »Kadafi« ist männlich

Beiträge: 9

Registrierungsdatum: 28.10.2004

Wohnort: From the Jungle

14

30.05.2006, 17:11

Hallo,

wenn ich bei Aufgabe 2b mir den ganzen dialog 55 vom film 22 12 68 anzeigen lasse, ist da nirgendwo was von harrison ford zu sehen.
Laut meiner Ausgabe sind an diesem Dialog nur Luke und Han Solo beteiligt oder mache ich was falsch??^^

Justus

Junior Schreiberling

  • »Justus« ist männlich

Beiträge: 152

Registrierungsdatum: 16.10.2004

Beruf: ich will auch mal Käptain sein!

15

30.05.2006, 17:20

ich krieg das mit dem Fehler anzeigen nicht hin. Bei SQuiggLe sagt er zu allem OK auch wenns auf jeden fall falsch ist und bei iISQ PLus steht wenn ich "show errors;" eingebe nur: Warning: Function created with compilation errors.
Elapsed: 00:00:00.03

Wie schaft ihr dass, das da die normale Fehler meldung angezeigt wird?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Justus« (30.05.2006, 17:21)


XAX

Junior Schreiberling

  • »XAX« ist männlich

Beiträge: 207

Registrierungsdatum: 25.12.2004

16

30.05.2006, 19:05

Zitat

Original von Kadafi
wenn ich bei Aufgabe 2b mir den ganzen dialog 55 vom film 22 12 68 anzeigen lasse, ist da nirgendwo was von harrison ford zu sehen.
Laut meiner Ausgabe sind an diesem Dialog nur Luke und Han Solo beteiligt oder mache ich was falsch??^^


Du musst ja auch erstmal die entsprechenden Tabelle abfragen welche Rolle Harison Ford im besagten Film spielt, Han oder Luke wer weiß das schon.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »XAX« (30.05.2006, 19:05)


malte

Trainee

  • »malte« ist männlich

Beiträge: 48

Registrierungsdatum: 30.10.2004

Wohnort: Döhren

17

30.05.2006, 19:36

Zitat

Original von Justus
ich krieg das mit dem Fehler anzeigen nicht hin. Bei SQuiggLe sagt er zu allem OK auch wenns auf jeden fall falsch ist und bei iISQ PLus steht wenn ich "show errors;" eingebe nur: Warning: Function created with compilation errors.
Elapsed: 00:00:00.03

Wie schaft ihr dass, das da die normale Fehler meldung angezeigt wird?


Du darfst nicht beide Befehle in einem Fenster direkt hintereinander in iSQL ausführen, sondern erst deine 'create function ...;' ausführen dann 'show errors'; ausführen

DrChaotica

Senior Schreiberling

  • »DrChaotica« ist männlich

Beiträge: 714

Registrierungsdatum: 22.01.2005

Wohnort: SHG

Beruf: SW-Entwickler

18

30.05.2006, 20:22

Zitat

Original von XAX

Zitat

Original von Kadafi
wenn ich bei Aufgabe 2b mir den ganzen dialog 55 vom film 22 12 68 anzeigen lasse, ist da nirgendwo was von harrison ford zu sehen.
Laut meiner Ausgabe sind an diesem Dialog nur Luke und Han Solo beteiligt oder mache ich was falsch??^^


Du musst ja auch erstmal die entsprechenden Tabelle abfragen welche Rolle Harison Ford im besagten Film spielt, Han oder Luke wer weiß das schon.

Ha, das war ein guter :D

malte

Trainee

  • »malte« ist männlich

Beiträge: 48

Registrierungsdatum: 30.10.2004

Wohnort: Döhren

19

30.05.2006, 21:40

Zitat

Original von DrChaotica
Kann schon jemand diese Kettenbruchdarstellung (Aufg. 2f) zum Quotienten 6765/4181 bestätigen? bin gerade zu faul, das nachzurechnen ;-)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2]


Habe da statt der 2 am Ende zwei mal die 1...
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]

DrChaotica

Senior Schreiberling

  • »DrChaotica« ist männlich

Beiträge: 714

Registrierungsdatum: 22.01.2005

Wohnort: SHG

Beruf: SW-Entwickler

20

30.05.2006, 21:48

Inzwischen hatte ich das doch mal mit dem Taschenrechner nachgeprüft, das stimmte schon so. Tut mir leid ;)