[ORACLE] pętla for


(rafalski) #1

Witam!

Muszę uzupełnić bazę danymi tak aby zawierała 1000 rekordów. W jaki sposób to zrobić? Szukałem informacji na temat pętli for, ale przykłady które znalazłem nie działają.

Pozdrawiam!


(Tomek Matz) #2

http://www.google.pl/search?q=for+loop+statement+site%3Ahttp%3A%2F%2Fdocs.oracle.com (pierwszy link)

BTW jeśli masz uzupełnić całą bazę danych, a nie tylko jedną wybraną tabelę z tej bazy danych, to być może wygodniej (i tym samym szybciej) będzie Ci przygotować jakiś prosty programik do tego celu.


(rafalski) #3

Tylko niestety to jest fragment zadania na uczelnię i trzeba stworzyć takie zapytanie


(Tomek Matz) #4

Rozumiem, no to nie masz wyboru i musisz brać się za czytanie tej dokumentacji :slight_smile: Myślę, że przykłady, które są tam umieszczone będą bardzo pomocne. Przygotuj sobie procedurę (lub kilka procedur - dla każdej tabeli osobno), która będzie generować te losowe dane. Zakładając, że miałbyś w bazie danych tylko jedną tabelę Person (kolumny: ID, Email), to procedura ta mogłaby wyglądać tak (to tylko przykład, nie możesz wygenerować 1000 rekordów z takim samym adresem e-mail):

CREATE OR REPLACE PROCEDURE SP_PERSONFILL AS 

BEGIN

  FOR i IN 1..1000 LOOP

    INSERT INTO person (email) VALUES ('jan.kowalski@hotmail.com');

  END LOOP;

END SP_PERSONFILL;

(Frankfurterium) #5

Niezły zbiór materiałów stanowi blog O Oracle ludzkim głosem. Po prawej są odnośniki do odpowiednich kursów. Zwróć tylko uwagę, że niektóre fragmenty konfiguracji odnoszą się do nieco starszych wersji oprogramowania. Na szczęście Oracle SQL i PL/SQL niewiele się zmieniły :wink: