Heim  >  Artikel  >  Datenbank  >  So erstellen Sie eine Funktion in MySQL

So erstellen Sie eine Funktion in MySQL

WBOY
WBOYnach vorne
2023-05-30 10:34:053497Durchsuche

    So erstellen Sie eine Funktion in Mysql

    DELIMITER $$
    DROP FUNCTION IF EXISTS genPerson$$
    CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50)
    BEGIN
      DECLARE str VARCHAR(50) DEFAULT '';
      SET @tableName=name;
      SET str=CONCAT('create table ', @tableName,'(id int, name varchar(20));');
      return str;
    END $$
    DELIMITER ;

    Was das SQL im obigen Bild betrifft

    (1) DELIMITER $$ definiert das Abschlusszeichen. Das Standard-Abschlusszeichen von MySQL ist ein Semikolon, aber im Funktionskörper kann ein Semikolon verwendet werden. Um Konflikte zu vermeiden, müssen zusätzliche Terminatoren definiert werden.

    (2) DROP FUNCTION IF EXISTS genPerson$$ Wenn die Funktion genPerson bereits existiert, löschen Sie sie.

    (3) CREATE FUNCTION erstellt die Funktion genPerson. Der Parameter der Funktion ist name und der Rückgabewert ist varchar(50).

    (4) Der Funktionskörper wird zwischen BEGIN und END platziert.

    (5) DECLARE deklariert eine Variable, der str-Typ ist varchar(50) und der Standardwert ist leer.

    (6) CONCAT verkettet mehrere Zeichenfolgen.

    (7) RETURN gibt die verkettete Zeichenfolge str zurück.

    So erstellen Sie eine Funktion in MySQL

    Es ist aus den Ausführungsergebnissen ersichtlich

    So erstellen Sie eine Funktion in MySQL

    Mysql kann Funktionsfehlercode 1418 nicht erstellen

    Erstellen einer Funktion in MySQL, Fehlercode: 1418

    Diese Funktion hat weder DETERMINISTISCH noch KEIN SQL. oder liest SQL-Daten in seiner Deklaration und die binäre Protokollierung ist aktiviert (möglicherweise möchten Sie die weniger sichere Variable log_bin_trust_function_creators verwenden). Dies bedeutet, dass die Funktion zum Erstellen einer Funktion nicht aktiviert ist.

    Lösung

    1. Überprüfen Sie, ob die Funktion zum Erstellen aktiviert ist

    show variables like '%func%';
    -------------------------------------------
    +---------------------------------+-------+
    | Variable_name                   | Value |
    +---------------------------------+-------+
    | log_bin_trust_function_creators | OFF   |
    +---------------------------------+-------

    SET GLOBAL log_bin_trust_function_creators = 1;

    Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Funktion in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen