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

Създайте функция чрез MySQLdb

DELIMITER Командата е вграден клиент на обвивката на MySQL и се разпознава само от тази програма (и MySQL Query Browser). Не е необходимо да използвате DELIMITER ако изпълнявате SQL изрази директно през API.

Целта на DELIMITER е да ви помогне да избегнете неясноти относно прекратяването на CREATE FUNCTION израз, когато самият израз може да съдържа знаци за точка и запетая. Това е важно в shell клиента, където по подразбиране точка и запетая прекратява SQL израз. Трябва да зададете терминатора на израза на някакъв друг знак, за да подадете тялото на функция (или задействане или процедура).

CREATE FUNCTION trivial_func (radius float) 
    RETURNS FLOAT

    BEGIN
    IF radius > 1 THEN
        RETURN 0.0; <-- does this semicolon terminate RETURN or CREATE FUNCTION?
    ELSE
        RETURN 1.0;
    END IF;
END

Тъй като API обикновено ви позволява да подавате един SQL израз наведнъж, няма неяснота - интерфейсът знае, че всички точки и запетая в тялото на дефиницията на вашата функция не прекратяват цялата CREATE FUNCTION изявление. Така че няма нужда да променяте терминатора на израза с DELIMITER .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задайте PDO да хвърля изключения по подразбиране

  2. Не мога да избера групиране на редове по created_at

  3. (2006, „MySQL сървърът е изчезнал“) в WSGI django

  4. Изберете заявка, като използвате условието

  5. Възможно ли е да се вмъкне нов ред в горната част на MySQL таблицата?