ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
928
928
EMPFEHLEN
-
Hallo an alle,
ich bin gerade dabei PL/SQL zu lernen und bekomme leider eine Prozedur nicht hin. Ich hoffe, dass ihr mir etwas helfen könnt.
Kurze Beschreibung zu der Prozedur:
Die Prozedur soll aus einer Tabelle (Artikel) einen Zufälligen Datensatz wählen und diesen in eine andere Tabelle schreiben. Dabei soll es durch einen Parameter die Menge der Datensätze festgelegt werden. Die verwendete Datenbank ist eine Oracle 10g XE
Prozedur:
Code :1 2 3 4 5 6 7 8 9
create or replace PROCEDURE PROC_AUSWAHL (p_ende IN integer) AS v_artikel varchar2(1000); BEGIN FOR x IN 1 .. p_ende LOOP SELECT bezeichnung into v_artikel FROM (SELECT bezeichnung FROM dg_artikel ORDER BY dbms_random.value) WHERE rownum = 1; INSERT INTO st_artikel (id, bezeichnung) values (seq_st_artikel.nextval, v_artikel); END LOOP; END PROC_AUSWAHL;
Es kommt die folgende Fehlermeldung (siehe Bild):
Ich vermute, dass es an der Variablen liegt. Die Select Abfrage selber ohne die Variable funktioniert richtig. Ich hoffe, dass hier jemand einen Hinweis geben kann.
Danke und viele Grüße
Frank
-
der Hinweis beantwortet nicht unbedingt die Frage, aber in 10g würde ich zum Erstellen eines Samples - nun ja - die Sample-Klausel verwenden:
Code sql:1 2 3 4 5 6 7 8 9 10 11
SQL> SELECT COUNT(*) FROM obj$; COUNT(*) ---------- 13631 SQL> SELECT COUNT(*) FROM obj$ sample(1); COUNT(*) ---------- 148
Gruß
MP
P.S.: ein grundsätzliches Syntax-Problem sehe ich bei der Prozedur nicht - über sqlplus sollte sie fehlerfrei erzeugt werden.Geändert von MPr (24.07.07 um 21:11 Uhr)
-
Hallo MPr,
du hast recht. In SQL Plus läuft die Prozedur durch. Das liegt wohl an diesem SQL Developer. Ich danke dir für die schnelle Hilfe und ebenfalls danke für den Hinweis mit der Sample-Klausel.
Viele Grüße
Frank
Ähnliche Themen
-
Random ohne import / Random-Alternative
Von Syrill im Forum JavaAntworten: 4Letzter Beitrag: 03.11.10, 08:06 -
INSERT aber nur wenn Datensatz noch nicht vorhanden ist.
Von mafin im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 17.12.08, 10:41 -
INSERT OR UPDATE - Wie Datensatz überschrieben?
Von isowit im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 23.06.06, 23:21 -
Ungewollter Datensatz bei INSERT INTO
Von ElFunghi im Forum PHPAntworten: 1Letzter Beitrag: 25.05.05, 03:09 -
INSERT schreibt doppelten Datensatz!?
Von magic_halli im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 23.08.03, 14:51





Zitieren
Login





