sql >> Database teknologi >  >> RDS >> Mysql

Hvis betinget i SQL Script til Mysql

Jeg pakker bare mit SQL-script ind i en procedure, hvor betinget kode er tilladt. Hvis du helst ikke vil lade udtalelserne ligge, kan du droppe proceduren, når du er færdig. Her er et eksempel:

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;

Hvis du ikke har brugt procedurer, kan søgeordet "afgrænser" muligvis have en forklaring. Den første linje skifter afgrænseren til "//", så vi kan inkludere semikoloner i vores proceduredefinition uden at MySQL forsøger at fortolke dem endnu. Når proceduren er oprettet, skifter vi afgrænseren tilbage til ";" så vi kan udføre sætninger som normalt.



  1. Opret et Multi-Step SQL Server Agent Job (T-SQL)

  2. hvad er den rigtige måde at konvertere mellem mysql datetime og python timestamp?

  3. Hvordan gør jeg min databaseforbindelse sikker?

  4. Rails Migration ændrer kolonne for at bruge Postgres-arrays