2013-01-08 15 views
9

È possibile?SQL: una condizione (IF-ELSE) in INSERT INTO

INSERT INTO tblPeople (id, group, company) VALUES (1, 'myGroup', 
IF($company = '') BEGIN 'no company' ELSE 'myCompany' END) 

Vorrei test di un valore, una se la società $ variabile è vuota, vorrei scrivere nessuna azienda.

+2

Hai provato a fare il controllo prima di fare l'inserto? – Kane

+3

Che tipo di DBMS stai usando? –

+1

nel mio caso, non posso farlo prima. Io uso SQL Server –

risposta

20

Prova questo:

INSERT INTO tblPeople (id, group, company) 
select 1, 'myGroup', 
case 
    when @company is null or @company = '' then 'no company' 
    else 'myCompany' 
END as company 
/*from tab --<-- optional*/ 
5

Probabilmente no, ma

INSERT INTO tblPeople (id, [group], company) 
Select 1, 'myGroup', Case When @Company = '' then 'no company' Else 'my company' End 

Dovrebbe essere un frequentatore

Problemi correlati