MySQL má dva různé typy proměnných:
-
místní proměnné (které nejsou s předponou
@
) jsou silně typovány a omezeny na uložený programový blok, ve kterém jsou deklarovány. Všimněte si, že jak je zdokumentováno v částiDECLARE
Syntaxe : -
uživatelské proměnné (které jsou s předponou
@
) jsou volně napsány a rozsahem k relaci. Všimněte si, že nepotřebují ani nemohou být deklarovány – stačí je použít přímo.
Pokud tedy definujete uložený program a skutečně chcete „místní proměnnou“, podle formulace ve vaší otázce, budete muset vypustit @
znak a ujistěte se, že váš DECLARE
příkaz je na začátku vašeho programového bloku. V opačném případě, chcete-li použít "uživatelskou proměnnou", zrušte DECLARE
prohlášení.
Kromě toho budete muset svůj dotaz umístit do závorek, abyste jej mohli provést jako dílčí dotaz:
SET @countTotal = (SELECT COUNT(*) FROM nGrams);
Nebo můžete použít SELECT ... INTO
:
SELECT COUNT(*) INTO @countTotal FROM nGrams;