Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Buat fungsi melalui MySQLdb

DELIMITER perintah adalah klien shell MySQL bawaan, dan itu hanya dikenali oleh program itu (dan Browser Kueri MySQL). Tidak perlu menggunakan DELIMITER jika Anda menjalankan pernyataan SQL secara langsung melalui API.

Tujuan DELIMITER adalah untuk membantu Anda menghindari ambiguitas tentang penghentian CREATE FUNCTION pernyataan, ketika pernyataan itu sendiri dapat berisi karakter titik koma. Ini penting di klien shell, di mana secara default titik koma mengakhiri pernyataan SQL. Anda perlu menyetel terminator pernyataan ke beberapa karakter lain untuk mengirimkan isi fungsi (atau pemicu atau prosedur).

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

Karena API biasanya memungkinkan Anda untuk mengirimkan satu pernyataan SQL pada satu waktu, tidak ada ambiguitas -- antarmuka mengetahui bahwa titik koma apa pun di dalam badan definisi fungsi Anda tidak menghentikan seluruh CREATE FUNCTION penyataan. Jadi tidak perlu mengganti terminator pernyataan dengan 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. Perbaiki "ERROR 1136 (21S01):Jumlah kolom tidak cocok dengan jumlah nilai pada baris 2" saat menggunakan Pernyataan VALUES di MySQL

  2. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan mysql_connect()

  3. Apa yang dimaksud dengan kesalahan mysql 1025 (HY000):Kesalahan saat mengganti nama './foo' (errorno:150)?

  4. masalah menginstal Perl DBI-mysql di windows

  5. Apakah lebih cepat untuk menghubungkan/menggunakan MySQL di localhost daripada domain (bahkan jika domain diselesaikan ke komputer yang sama)?