2012-04-04 9 views
7

Questa è la mia affermazioneT-SQL Dichiarare e impostare

Perché ricevo questi errori di sintassi non corretta in prossimità della parola chiave 'selezionare', la sintassi non corretta in prossimità della parola chiave 'DA'. ???

BEGIN 
Declare @idToutesPlantesDérivés int 
DECLARE @idPlantesDérivés int 

SET @idPlantesDérivés = select(ID_CHIMQ FROM dbo.SOUS_CATGR where Name = 'plantes et ses dérivés') 

SET @idToutesPlantesDérivés = select(ID_CHIMQ FROM dbo.SOUS_CATGR where Name = 'toutes les autres plantes et dérivés') 

    select @idToutesPlantesDérivés 
END 

Grazie per il vostro aiuto

risposta

12

Un modo

BEGIN 
Declare @idToutesPlantesDérivés int 
DECLARE @idPlantesDérivés int 

SET @idPlantesDérivés = (SELECT ID_CHIMQ 
FROM dbo.SOUS_CATGR 
where Name = 'plantes et ses dérivés') 

SET @idToutesPlantesDérivés = (SELECT ID_CHIMQ 
    FROM dbo.SOUS_CATGR 
where Name = 'toutes les autres plantes et dérivés') 

    select @idToutesPlantesDérivés 
END 

o

BEGIN 
Declare @idToutesPlantesDérivés int 
DECLARE @idPlantesDérivés int 

SELECT @idPlantesDérivés = ID_CHIMQ 
FROM dbo.SOUS_CATGR 
where Name = 'plantes et ses dérivés' 

SELECT @idToutesPlantesDérivés = ID_CHIMQ 
FROM dbo.SOUS_CATGR 
where Name = 'toutes les autres plantes et dérivés' 

    select @idToutesPlantesDérivés 
END 
3

Un'altra sintassi per impostare un valore per una variabile con SELECT assomiglia:

SELECT @variable = column_name FROM some_table WHERE ... 

Quindi per il vostro caso:

BEGIN 
Declare @idToutesPlantesDérivés int 
DECLARE @idPlantesDérivés int 

select @idPlantesDérivés = ID_CHIMQ FROM dbo.SOUS_CATGR where Name = 'plantes et ses dérivés' 

select @idToutesPlantesDérivés = ID_CHIMQ FROM dbo.SOUS_CATGR where Name = 'toutes les autres plantes et dérivés' 

    select @idToutesPlantesDérivés 
END 
1

È necessario

(select ID_SOUS_CATGR_AGENT_CHIMQ FROM dbo.MAD_SOUS_CATGR_AGENT_CHIMQ where NM_SOUS_CATGR_AGENT_CHIMQ = 'plantes et ses dérivés') 
0

spostare il vostro parentesi:

BEGIN 
Declare @idToutesPlantesDérivés int 
DECLARE @idPlantesDérivés int 

SET @idPlantesDérivés = (select (ID_CHIMQ 
         FROM dbo.SOUS_CATGR 
         where Name = 'plantes et ses dérivés') 

SET @idToutesPlantesDérivés = (select (ID_CHIMQ 
          FROM dbo.SOUS_CATGR 
          where Name = 'toutes les autres plantes et dérivés') 

    select @idToutesPlantesDérivés 
END