sql >> Database >  >> RDS >> Mysql

Procedures maken en uitvoeren in MySQL-workbench

Heb je de hele zoekopdracht beëindigd? Probeer een scheidingsteken in te stellen , en gebruik het na de END zodat de server weet dat je de opdracht hebt voltooid.

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 ;

Ook bij de door

Terwijl DELETE FROM TABLE verwijdert alle gegevens uit de tabel, TRUNCATE table doet dat sneller. Tenzij je goede redenen hebt om DELETE te gebruiken (ze bestaan), TRUNCATE is misschien wat je wilt.




  1. Dagen aftrekken van een datum in PostgreSQL

  2. SQL Server:Hoe een door de gebruiker gedefinieerde functie (UDF) op een gekoppelde server aanroepen?

  3. Rijsloten - handmatig gebruiken

  4. Nieuwe MYSQL-installatie, toegang geweigerd voor gebruiker 'root'