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
.