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 .