czy da się coś takie zrobić, by działało :
  1. delimiter //
  2. CREATE FUNCTION CityID (idCty INT) RETURNS VARCHAR(8)
  3. BEGIN RETURN CONCAT('k_BC',FORMAT(idCty,0) );
  4. END;
  5. //
  6. CREATE PROCEDURE cBEndTime ()
  7. BEGIN SELECT TIMEDIFF(now(),time) FROM k_BC0; END;
  8. //
  9. CREATE PROCEDURE cBStart (out idBld INT,out idCty INT)
  10. BEGIN SELECT @t := time FROM k_B WHERE IDB = idBld;
  11. UPDATE [b]CityID(idCty)[/b]
  12. SET lvl = lvl+1,
  13. time =DATE_ADD(now(), INTERVAL TIME_TO_SEC(@t) SECOND)
  14. WHERE IDB = idBld;
  15. SELECT * FROM [b]k_BC0[/b]; END;
  16. //
  17. delimiter ;
  18. SET @elem = 1;
  19. SET @city = [b]0[/b];
  20. CALL cBStart(@elem,@city);
  21. SELECT CityID(@city);

z 'k_BC' i z liczy 0 ma stworzyć nazwę tabeli i tą tabelę edytować. MySQL 5.0.40

+ pytanie zasadnicze co do tego : lepiej jest trzymać dane wszystkich "miast" w jednej tabeli czy tak jak ja ma - czyli każde miasto osobno? Chodzi mi głównie o wydajność.