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.

thommyslaw

Junior Schreiberling

  • "thommyslaw" is male
  • "thommyslaw" started this thread

Posts: 226

Date of registration: Oct 7th 2003

1

Monday, May 30th 2005, 9:40pm

SQL Übung 7

Könnte mir mal jemand auf die Sprünge helfen, ich verzweifel grad an dem ersten Teil von 1a).
Squiggle meldet bei folgender Abfrage ein "ORA-00911: Üngültiges Zeichen".

Source code

1
2
3
4
5
6
CREATE TABLE prim (zahl NUMBER(5));
BEGIN
  FOR i IN 2 .. 10000 LOOP    
    INSERT INTO prim VALUES (i);
  END LOOP;
END;

Wenn ich das CREATE-Statement in den PL/SQL-Block mit einbaue, bekomm ich "Fand das Symbol "CREATE" als eines der folgenden erwartet wurde: [...]".

Source code

1
2
3
4
5
6
BEGIN
  CREATE TABLE prim (zahl NUMBER(5));
  FOR i IN 2 .. 10000 LOOP    
    INSERT INTO prim VALUES (i);
  END LOOP;
END;

3St@n

Junior Schreiberling

  • "3St@n" is male

Posts: 204

Date of registration: Aug 31st 2003

Location: Hildesheim

Occupation: FG SE

2

Monday, May 30th 2005, 11:15pm

Ich habe das so verstanden das die Tabelle vorher erstellt werden soll. Also als eigenes Statement.

Also ein Statement:

Source code

1
CREATE TABLE prim (zahl NUMBER(5));

und ein Statement:

Source code

1
2
3
4
5
BEGIN
  FOR i IN 2 .. 10000 LOOP    
    INSERT INTO prim VALUES (i);
  END LOOP;
END;

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

3

Tuesday, May 31st 2005, 8:11pm

alles klar, hat sich erledigt...

aber das bleibt:

und noch ne frage:
wie kann ich anführungsstriche in strings benutzen?

This post has been edited 2 times, last edit by "mDev" (May 31st 2005, 8:52pm)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

4

Tuesday, May 31st 2005, 10:01pm

Quoted

Original von mDev
und noch ne frage:
wie kann ich anführungsstriche in strings benutzen?
Für sowas lohnt sich immer ein Blick in die Oracle-Doku: http://oraclesvca2.oracle.com/docs/cd/B1…3.htm#sthref379
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

5

Tuesday, May 31st 2005, 11:35pm

Hm, wie versteht ihr Aufgagbe 2b?
Soll man da eine neue Funktion schreiben oder die vorhandene List benutzen. Wenn vorhandene benutzen, soll man diese in eine weiter Funktion einbinden, und geht die ganze Aufgabe auch mit select?

Und nochwas: Ich finde zwar 7 Filme mit George Lucas und dem Star Wars im Titel, die im Kino gelaufen sind, aber von den Episoden sind nur 5 da.
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

thommyslaw

Junior Schreiberling

  • "thommyslaw" is male
  • "thommyslaw" started this thread

Posts: 226

Date of registration: Oct 7th 2003

6

Wednesday, June 1st 2005, 10:45am

Hat mal jemand einen Tipp für die Gruppierung bei Aufg. 1b) ?
Ich krieg die Primzahlzwillinge mit nem Self-Join raus, aber vor allem der Hinweis auf FLOOR bringt mich überhaupt nicht weiter, was die Gruppierung angeht.

thommyslaw

Junior Schreiberling

  • "thommyslaw" is male
  • "thommyslaw" started this thread

Posts: 226

Date of registration: Oct 7th 2003

7

Wednesday, June 1st 2005, 2:40pm

Quoted

Original von Markus
Und nochwas: Ich finde zwar 7 Filme mit George Lucas und dem Star Wars im Titel, die im Kino gelaufen sind, aber von den Episoden sind nur 5 da.

das sind die sechs episoden.

Source code

1
2
3
4
5
6
7
8
| MOVIE  | TITLE                                          | YEAR |
|--------|------------------------------------------------|------|
| 189059 | Star Wars                                      | 1977 |
| 189063 | Star Wars: Episode V - The Empire Strikes Back | 1980 |
| 189064 | Star Wars: Episode VI - Return of the Jedi     | 1983 |
| 189061 | Star Wars: Episode I - The Phantom Menace      | 1999 |
| 189062 | Star Wars: Episode II - Attack of the Clones   | 2002 |
| 362268 | Star Wars: Episode III - Revenge of the Sith   | 2005 |

zu "saving star wars" sagt google: http://www.evilhell.net/?p=112
also scheinbar irgendeine SW-verarschung ;) - auf jeden fall nicht von george lucas.

da bei 2b) nichts von "stellen sie nun folgende SQL-anfrage" steht, denke ich, dass man es auch mit nem PL/SQL Block lösen kann - jedenfalls erscheint eine SQL-anfrage doch sehr schwierig, wenn überhaupt möglich.

This post has been edited 1 times, last edit by "thommyslaw" (Jun 1st 2005, 2:40pm)


cst

Praktikant

  • "cst" is male

Posts: 24

Date of registration: Jun 1st 2005

Location: Wunstorf

8

Wednesday, June 1st 2005, 4:40pm

Genau; das sind die einzigen mir bekannten 6 Star Wars Kinofilme.

Für 2 b) hatte ich mir schon eine SQL-Anfrage vorgestellt. Die ist bestimmt auch einfacher als ein PL/SQL-Block, wenn man nur seine Funktion aus 2 a) benutzt -- nicht immer so kompliziert denken! ;)

Zu 1 b): Irgendwie muss man berechnen in welches Intervall der Primzahlzwilling fällt. Hier könnte FLOOR (abrunden auf die nächste ganze Zahl) hilfreich sein.

Viel Spaß noch!

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

9

Wednesday, June 1st 2005, 4:49pm

Quoted

Original von Joachim

Quoted

Original von mDev
und noch ne frage:
wie kann ich anführungsstriche in strings benutzen?
Für sowas lohnt sich immer ein Blick in die Oracle-Doku: http://oraclesvca2.oracle.com/docs/cd/B1…3.htm#sthref379


wenn dus einfach mal posten könntest, würden alle bescheid wissen und es müsste sich nich jeder bei oracle registrieren... ;)

thommyslaw

Junior Schreiberling

  • "thommyslaw" is male
  • "thommyslaw" started this thread

Posts: 226

Date of registration: Oct 7th 2003

10

Wednesday, June 1st 2005, 6:11pm

noch eine frage zu 2b)
einerseits ist gefragt nach der mitwirkung für jeden der sechs filme, andererseits soll man duplikate vermeiden.
bei zwei der sechs filme bekomme ich die gleich liste heraus, soll ich diese nun rausfiltern oder nicht ?!

einfacher gefragt:
kommen fünf oder sechs datensätze raus? ;)

cst

Praktikant

  • "cst" is male

Posts: 24

Date of registration: Jun 1st 2005

Location: Wunstorf

11

Wednesday, June 1st 2005, 6:19pm

Ok, kurz bevor ich nach Hause gehe:

einfach geantwortet: sechs

Für jeden dieser sechs Filme will ich die Liste haben was der "Lucas, George" da nun genau gemacht hat.
Keine Duplikate heißt immer: keine Zeile doppelt

EnteTaylor

Trainee

  • "EnteTaylor" is male

Posts: 111

Date of registration: Oct 24th 2003

Location: Göttingen

Occupation: weil's toll is

12

Wednesday, June 1st 2005, 8:44pm

1b

Aufgabe 1b habe ich ohne floor und group by hinbekommen. Ich denke auch, dass es richtig ist. habe da auch nen pl/sql block (hoffe das darf man). man muss doch einfach nur gucken, ob es zu einer primzahl p eine weitere primzahl p+2 in der prim - tabelle gibt:

..where (primzahl+2) IN (select primzahl from prim)

und das dann für jedes intervall.
Meine Gedächtnisprotokolle: www.janwy.de

This post has been edited 1 times, last edit by "EnteTaylor" (Jun 1st 2005, 8:45pm)


Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

13

Wednesday, June 1st 2005, 8:52pm

Also mit floor macht man das, indem man die Zahlen in 1 - 9999 so durch eine Zahl teil, dass man mit floor von x/Zahl 10 verschiedene Zahlen herausbekommt, nach denen man dann entsprechen gruppieren kann.



Quoted

Original von mDev
und noch ne frage:
wie kann ich anführungsstriche in strings benutzen?


Wie wäre es mit " ? (:
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

This post has been edited 1 times, last edit by "Markus" (Jun 1st 2005, 11:19pm)


Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

14

Wednesday, June 1st 2005, 11:18pm

RE: 1b

Quoted

Original von EnteTaylor
Aufgabe 1b habe ich ohne floor und group by hinbekommen. Ich denke auch, dass es richtig ist. habe da auch nen pl/sql block (hoffe das darf man). man muss doch einfach nur gucken, ob es zu einer primzahl p eine weitere primzahl p+2 in der prim - tabelle gibt:

..where (primzahl+2) IN (select primzahl from prim)

und das dann für jedes intervall.


laut Aufgabenstellung heißt es "Stellen Sie nun folgende SQL-Anfrage..". imho is ein PL/SQL Block keine Anfrage
"NP - The class of dashed hopes and idle dreams." Complexity Zoo

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

15

Thursday, June 2nd 2005, 10:34am

Quoted

Original von Markus

Quoted

Original von mDev
und noch ne frage:
wie kann ich anführungsstriche in strings benutzen?


Wie wäre es mit " ? (:


'so ein"string" hier' funktioniert in pl/sql leider nicht...

Benjamin

Segelnder Alter Hase

  • "Benjamin" is male

Posts: 3,827

Date of registration: Oct 1st 2002

Location: Region Hannover

Occupation: Alumni

16

Thursday, June 2nd 2005, 10:42am

Aber Quoting ist doch jedem (als Suchbegriff) bekannt? :)

Dazu ist garantiert was in der Oracle Doku zu funden, die auf der SQL-Kurs-Seite verlinkt ist. Die PDFs kann man auch so öffnen. Ein kostenloser User ist - siehe Webseite - nur für die Volltext-Suche der Online-Hilfe nötig. Eine Suche im 500-Seiten PDF zu PL/SQL geht aber trotzdem.
Es gibt nur eine bessere Sache als auf dem Wasser zu sein: Noch mehr auf dem Wasser sein.

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

17

Thursday, June 2nd 2005, 11:36am

Quoted

Original von mDev
wenn dus einfach mal posten könntest, würden alle bescheid wissen und es müsste sich nich jeder bei oracle registrieren... ;)
Folgender URL müsste es auch tun:
http://www.dbs.uni-hannover.de/lehre/sql…3.htm#sthref376
tar: Anlegen eines leeren Archivs wird feige verweigert.

mDev

Erfahrener Schreiberling

  • "mDev" is male

Posts: 282

Date of registration: Oct 10th 2002

Location: Hannover

Occupation: Wissenschaftlicher Mitarbeiter

18

Thursday, June 2nd 2005, 11:59am

ah jetzt ja... besten dank ;)

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

19

Thursday, June 2nd 2005, 2:13pm

Quoted

Original von mDev

Quoted

Original von Markus

Quoted

Original von mDev
und noch ne frage:
wie kann ich anführungsstriche in strings benutzen?


Wie wäre es mit " ? (:


'so ein"string" hier' funktioniert in pl/sql leider nicht...


Ok, ich dachte eher an DBMS_output.put_line, da kann man nämlich DBMS_ouput.put_line( ' "Hello World!" ') schreiben.
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

cst

Praktikant

  • "cst" is male

Posts: 24

Date of registration: Jun 1st 2005

Location: Wunstorf

20

Thursday, June 2nd 2005, 4:44pm

RE: 1b

Um eventuelle Unklarheiten aufzulösen:

Wie schon gesagt wurde, ist für 1 b) eine SQL-Anfrage verlangt und kein PL/SQL-Block. (Eine SQL-Anfrage ist hier auch kürzer, eleganter und effizienter als ein Lösung mit PL/SQL.)

Das Problem mit den Quotes verstehe ich nicht so ganz... geht doch!?

Beispiel mit Anführungszeichen:

Source code

1
select 'so ein "string" hier ?' from dual;

Beispiel mit Apostrophs:

Source code

1
select 'Larry Ellison''s Oracle' from dual;

This post has been edited 2 times, last edit by "cst" (Jun 2nd 2005, 4:57pm)