Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL локални променливи

MySQL има два различни типа променливи:

  • локални променливи (които не са с префикс @ ) са строго въведени и с обхват до съхранения програмен блок, в който са декларирани. Имайте предвид, че както е документирано под DECLARE Синтаксис :

  • потребителски променливи (които са с префикс @ ) са свободно въведени и обхват на сесията. Имайте предвид, че те нито се нуждаят, нито могат да бъдат декларирани – просто ги използвайте директно.

Следователно, ако дефинирате съхранена програма и всъщност искате "локална променлива", според формулировката във вашия въпрос, ще трябва да пуснете @ символ и се уверете, че вашият DECLARE операторът е в началото на вашия програмен блок. В противен случай, за да използвате "потребителска променлива", пуснете DECLARE изявление.

Освен това ще трябва или да заградите заявката си в скоби, за да я изпълните като подзаявка:

SET @countTotal = (SELECT COUNT(*) FROM nGrams);

В противен случай можете да използвате SELECT ... INTO :

SELECT COUNT(*) INTO @countTotal FROM nGrams;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql тригер за актуализиране на вмъкнатия ред

  2. Най-добри практики за ефективно съхраняване на md5 хешове в mysql

  3. MySQL - Как да преброите всички редове на таблица в една заявка

  4. Съхранение ден и месец (без година)

  5. Таблицата не може да бъде създадена в mysql - Грешка 1064