sql >> Databasteknik >  >> RDS >> Mysql

Skapa funktion genom MySQLdb

DELIMITER kommandot är en MySQL-skalklient som är inbyggd, och den känns igen endast av det programmet (och MySQL Query Browser). Det är inte nödvändigt att använda DELIMITER om du kör SQL-satser direkt via ett API.

Syftet med DELIMITER är att hjälpa dig att undvika oklarheter om avslutandet av CREATE FUNCTION sats, när själva satsen kan innehålla semikolontecken. Detta är viktigt i skalklienten, där ett semikolon som standard avslutar en SQL-sats. Du måste ställa in satsterminatorn till något annat tecken för att kunna skicka in texten i en funktion (eller trigger eller procedur).

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

Eftersom API vanligtvis tillåter dig att skicka en SQL-sats åt gången, finns det ingen tvetydighet -- gränssnittet vet att eventuella semikolon i kroppen av din funktionsdefinition inte avslutar hela CREATE FUNCTION påstående. Så det finns inget behov av att ändra satsterminatorn med DELIMITER .



  1. Hur man formaterar ett tal med kommatecken i Oracle

  2. Lägga till ett FULLTEXT-index i Doktrin 2 med hjälp av anteckningar?

  3. Vi presenterar uppspelning – ny tidpunktsdiagnos för Spotlight Cloud

  4. PostgreSQL:Välj data med ett like på tidsstämpelfältet