sql >> Base de Datos >  >> RDS >> Mysql

Si es condicional en SQL Script para Mysql

Simplemente envuelvo mi secuencia de comandos SQL en un procedimiento, donde se permite el código condicional. Si prefiere no dejar las declaraciones por ahí, puede abandonar el procedimiento cuando haya terminado. He aquí un ejemplo:

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;

Si no ha utilizado procedimientos, la palabra clave "delimitador" puede necesitar alguna explicación. La primera línea cambia el delimitador a "//" para que podamos incluir punto y coma en nuestra definición de procedimiento sin que MySQL intente interpretarlos todavía. Una vez que se ha creado el procedimiento, volvemos a cambiar el delimitador a ";" para que podamos ejecutar sentencias como de costumbre.