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

Nếu có điều kiện trong SQL Script cho Mysql

Tôi chỉ gói tập lệnh SQL của mình trong một thủ tục, trong đó mã có điều kiện được cho phép. Nếu bạn không muốn để các báo cáo nằm lung tung, bạn có thể bỏ quy trình khi hoàn thành. Đây là một ví dụ:

delimiter //

create procedure insert_games() 

begin

    set @platform_id := (select id from platform where name = 'Nintendo DS');

    -- Only insert rows if the platform was found
    if @platform_id is not null then 

        insert into game(name, platform_id) values('New Super Mario Bros', @platform_id);
        insert into game(name, platform_id) values('Mario Kart DS', @platform_id);

    end if;

end;

//

delimiter ;

-- Execute the procedure
call insert_games();

-- Drop the procedure
drop procedure insert_games;

Nếu bạn chưa sử dụng các thủ tục, từ khóa "dấu phân cách" có thể cần một số giải thích. Dòng đầu tiên chuyển dấu phân tách thành "//" để chúng ta có thể bao gồm dấu chấm phẩy trong định nghĩa thủ tục của mình mà MySQL chưa cố gắng diễn giải chúng. Khi thủ tục đã được tạo, chúng tôi chuyển dấu phân cách trở lại ";" để chúng ta có thể thực thi các câu lệnh như bình thường.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có bao nhiêu hàng là 'quá nhiều' đối với một bảng MySQL?

  2. PHP / mysql lấy số hàng bị ảnh hưởng của câu lệnh UPDATE

  3. Ý nghĩa của n:m và 1:n trong thiết kế cơ sở dữ liệu

  4. Bắt truy vấn xếp hạng PHP MYSQL để xếp hạng dựa trên tổng điểm

  5. Rails, MySQL và Snow Leopard