sql >> Database teknologi >  >> RDS >> Mysql

Opret funktion gennem MySQLdb

DELIMITER kommandoen er en MySQL shell-klient indbygget, og den genkendes kun af det program (og MySQL Query Browser). Det er ikke nødvendigt at bruge DELIMITER hvis du udfører SQL-sætninger direkte gennem en API.

Formålet med DELIMITER er at hjælpe dig med at undgå tvetydighed om afslutningen af ​​CREATE FUNCTION sætning, når selve sætningen kan indeholde semikolontegn. Dette er vigtigt i shell-klienten, hvor et semikolon som standard afslutter en SQL-sætning. Du skal indstille sætningsterminatoren til et andet tegn for at indsende brødteksten af ​​en funktion (eller trigger eller procedure).

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

Da API'en typisk tillader dig at indsende én SQL-sætning ad gangen, er der ingen tvetydighed -- grænsefladen ved, at semikolon inde i kroppen af ​​din funktionsdefinition ikke afslutter hele CREATE FUNCTION udmelding. Så der er ingen grund til at ændre sætningsterminatoren med DELIMITER .



  1. Lige meget hvad, kan jeg ikke batch MySQL INSERT-sætninger i Hibernate

  2. Installer og konfigurer XAMPP-software på Windows Server 2019

  3. Hvordan Trunc() virker i PostgreSQL

  4. MySQL Great Circle Distance (Haversine formel)