Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo hàm thông qua MySQLdb

DELIMITER lệnh là một nội trang máy khách shell MySQL và nó chỉ được chương trình đó (và Trình duyệt truy vấn MySQL) công nhận. Không cần thiết phải sử dụng DELIMITER nếu bạn thực thi các câu lệnh SQL trực tiếp thông qua một API.

Mục đích của DELIMITER là để giúp bạn tránh mơ hồ về việc chấm dứt CREATE FUNCTION câu lệnh, khi bản thân câu lệnh có thể chứa các ký tự dấu chấm phẩy. Điều này quan trọng trong trình khách shell, nơi theo mặc định dấu chấm phẩy kết thúc một câu lệnh SQL. Bạn cần đặt dấu kết thúc câu lệnh thành một số ký tự khác để gửi nội dung của một hàm (hoặc trình kích hoạt hoặc thủ tục).

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

Vì API thường cho phép bạn gửi một câu lệnh SQL tại một thời điểm, nên không có sự mơ hồ - giao diện biết rằng bất kỳ dấu chấm phẩy nào bên trong phần thân của định nghĩa hàm của bạn sẽ không kết thúc toàn bộ CREATE FUNCTION tuyên bố. Vì vậy, không cần thay đổi phần tử kết thúc câu lệnh bằng 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. Khóa mức hàng trong Mysql

  2. Cách hiệu quả nhất để có được số hàng trong bảng

  3. Đủ điều kiện cho một tên cột bảng tạm thời trong jOOQ

  4. PHP PDO - Hàng số

  5. Tìm kiếm theo ký tự đại diện trong tìm kiếm toàn văn bản của MySQL