Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mencipta fungsi dalam Mysql

Bagaimana untuk mencipta fungsi dalam Mysql

WBOY
Lepaskan: 2023-05-30 10:34:05
ke hadapan
3533 orang telah melayarinya

    Cara membuat fungsi dalam 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 ;
    Salin selepas log masuk

    Setakat sql dalam gambar di atas adalah berkenaan

    (1) DELIMITER $ $ mentakrifkan penamat. Penamat lalai MySQL ialah koma bertitik, tetapi koma bertitik boleh digunakan dalam badan fungsi. Untuk mengelakkan konflik, penamat tambahan perlu ditakrifkan.

    (2) GUGURKAN FUNGSI JIKA WUJUD genPerson$$ Jika fungsi genPerson sudah wujud, padamkannya.

    (3) CREATE FUNCTION mencipta fungsi genPerson Parameter fungsi ialah nama dan nilai pulangan ialah varchar(50).

    (4) Badan fungsi diletakkan di antara BEGIN dan END.

    (5) DECLARE mengisytiharkan pembolehubah, jenis str ialah varchar(50), dan nilai lalainya kosong.

    (6) CONCAT menggabungkan berbilang rentetan.

    (7) RETURN mengembalikan str rentetan yang disambung.

    Bagaimana untuk mencipta fungsi dalam Mysql

    Seperti yang dapat dilihat daripada hasil pelaksanaan

    Bagaimana untuk mencipta fungsi dalam Mysql

    Mysql tidak boleh mencipta kod ralat fungsi 1418

    dalam Apabila mencipta fungsi dalam mysql,

    kod ralat dilaporkan: 1418

    Fungsi ini tidak mempunyai DETERMINISTIC, NO SQL, atau READS SQL DATA dalam pengisytiharannya dan pengelogan binari didayakan (anda *mungkin* mahu menggunakan pembolehubah log_bin_trust_function_creators yang kurang selamat) Ini bermakna fungsi cipta tidak dihidupkan.

    Penyelesaian

    1 Periksa sama ada fungsi cipta dihidupkan

    show variables like '%func%';
    -------------------------------------------
    +---------------------------------+-------+
    | Variable_name                   | Value |
    +---------------------------------+-------+
    | log_bin_trust_function_creators | OFF   |
    +---------------------------------+-------
    Salin selepas log masuk

    2 Hidupkan

    SET GLOBAL log_bin_trust_function_creators = 1;
    Salin selepas log masuk

    3

    Atas ialah kandungan terperinci Bagaimana untuk mencipta fungsi dalam Mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan