sql >> Database teknologi >  >> RDS >> Mysql

Sådan oprettes og udføres procedurer i MySQL workbench

Har du afsluttet hele forespørgslen? Prøv at indstille en afgrænser , og brug det efter SLUT, så serveren ved, at du afsluttede kommandoen.

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 ;

Også af by

Mens DELETE FROM TABLE fjerner alle data fra tabellen, TRUNCATE table gør det hurtigere. Medmindre du har gode grunde til at bruge DELETE (de findes), TRUNCATE kan være, hvad du ønsker.




  1. Sådan finder du ud af, om en liste/sæt er præcis inden for en anden liste

  2. 50 Shades of Oracle Database Certificeringseksamen

  3. Hvordan fejlfinder man ORA-01775:looping kæde af synonymer?

  4. Hvordan optimerer man lagring og hentning fra en enorm liste i php?