Sudahkah Anda mengakhiri seluruh kueri? Coba atur pembatas , dan gunakan setelah END agar server mengetahui bahwa Anda telah menyelesaikan perintah.
delimiter //
CREATE PROCEDURE fill_points(
IN size INT(10)
)
BEGIN
DECLARE i DOUBLE(10,1) DEFAULT size;
DECLARE lon FLOAT(7,4);
DECLARE lat FLOAT(6,4);
DECLARE position VARCHAR(100);
-- Deleting all.
DELETE FROM Points;
WHILE i > 0 DO
SET lon = RAND() * 360 - 180;
SET lat = RAND() * 180 - 90;
SET position = CONCAT( 'POINT(', lon, ' ', lat, ')' );
INSERT INTO Points(name, location) VALUES ( CONCAT('name_', i), GeomFromText(position) );
SET i = i - 1;
END WHILE;
END //
delimiter ;
Juga, oleh
Sementara DELETE FROM TABLE
menghapus semua data dari tabel, TRUNCATE table
melakukannya lebih cepat. Kecuali Anda memiliki alasan yang baik untuk menggunakan DELETE
(mereka ada), TRUNCATE
mungkin yang Anda inginkan.