Witam
Piszę moduł administracyjny dla bazy danych, gdzie ze względów bezpieczeństwa, całe przetwarzanie ma być schowane po stronie serwera, a klient Delphi tylko wywołuje uruchamianie określonych procedur wbudowanych.
Każdy użytkownik ma przydział uprawnień (identyfikacja przez pole "grupa") i dostaje GRAND EXECUTE na zestaw dozwolonych procedur. Chciałbym to zrobić tabelarycznie, czyli tabela "uzytkownicy" (kolumna nick) oraz tabela "procedury" (kolumny nazwa_procedury, grupa). Poniższa procedura powinna więc być wywołana dla wszystkich kombinacji użytkownik - nazwa procedury, dla jego grupy uprawnień.

 #========================================= zestaw uprawnień zwykłego usera


DROP PROCEDURE  IF EXISTS uprawnienia1_usera//

CREATE PROCEDURE uprawnienia1_usera(
	IN sNickG VARCHAR(20),
	IN sNazwaProcedury VARCHAR(50)) 


BEGIN
	DECLARE komenda VARCHAR(300);

	SET @komenda=CONCAT("GRANT EXECUTE ON PROCEDURE informacje.",@sNazwaProcedury ," TO ",@sNickG) ;
		PREPARE stmt1 FROM @komenda;
		EXECUTE stmt1;
		DEALLOCATE PREPARE stmt1;

END//


delimiter ;
FLUSH PRIVILEGES;

Samo stworzenie listy parametrów jest proste:
SELECT nick, nazwa_procedury FROM uzytkownicy, procedury WHERE procedury.grupa=1

jednak nie wiem, jak teraz kolejne elementy wysyłać do procedury wbudowanej. W Delphi sprawa była by prosta - pętla FOR albo WHILE, ale dla bezpieczeństwa, żadna z tych tabel nie może być przesyłana na zewnątrz, więc przetwarzanie musi się odbyć w SQL po stronie serwera.

Z góry dziękuję za pomoc