Mam problem z generatorem do bazy danych w MySQL (w środowisku EMS SQL Manager for MySQL 2007).
Moja tabela składa się z 3 pól: id_lecturer int(autoinkrementowalne, klucz główny, nie null), name varchar (32), surname varchar (32).
Próbowałem wygenerować 1000 rekordów do tej tabeli w stylu:
imie1, nazwisko1
imie2, nazwisko2
...
imie1000, nazwisko1000
Problemem jest to, że wyskakuje mi błąd tego typu:
can't drop or alter procedure from another stored routine
Wydaje mi się, że gramatycznie powinno być w porządku ale mogę się mylić.... (kod jest w MySQL)
DROP PROCEDURE IF EXISTS dodaj_do_tabeli_lecturer;
DELIMITER ';;'
CREATE PROCEDURE dodaj_do_tabeli_lecturer ()
BEGIN
DECLARE licznik INT DEFAULT 1;
WHILE licznik <= 1000 do
INSERT INTO lecturer (name, surname)
VALUES("name" + LTRIM(STRING(licznik)),"surname" + LTRIM(STRING(licznik)));
SET licznik = licznik + 1;
END WHILE
END;;
DELIMITER ';'
Próbowałem też skrócić tą procedurę ale błąd był podobny lub taki sam:
can't create procedure from within another stored routine
CREATE PROCEDURE dodaj_do_tabeli_lecturer ()
DELIMITER ';;'
BEGIN
DECLARE licznik INT DEFAULT 1;
WHILE licznik <= 1000 do
INSERT INTO lecturer (name, surname)
VALUES("name" + LTRIM(STRING(licznik)),"surname" + LTRIM(STRING(licznik)));
SET licznik = licznik + 1;
END WHILE
END;;
DELIMITER ';'
No i całkiem krótka wersja...
BEGIN
DECLARE licznik INT DEFAULT 1;
WHILE licznik <= 1000 do
INSERT INTO lecturer (name, surname)
VALUES("name" + LTRIM(STR(licznik)),"surname" + LTRIM(STR(licznik);
set licznik = licznik + 1;
END WHILE
END;
Forumowicze proszę o pomoc. Mam niewiele czasu i dużo do zrobienia z resztą generatorów. Jeśli uda mi się znaleźć i naprawić błąd w tym to z pozostałymi nie powinno być problemu.