none
sintaxis if RRS feed

  • Pregunta

  • saludos.

    mi pregunta si me pueden ayudar con esta sintaxis. quiero que segun la condicion me realize una instruccion

    IF @parRepro = '0'
    if not exists(select * from cal_comisionpersn where counng=@w1unid and coarng=@w1area and coanio=@paranio and conmes=@parnmes and copers=@parpers)

    else

    if not exists(select * from REC_comisionpersn where counng=@w1unid and coarng=@w1area and coanio=@paranio and conmes=@parnmes and copers=@parpers)

    PORQ ME SALE SINTAXIS INCORRECTA:

    Msg 156, Level 15, State 1, Procedure sp_SetComisionPersona, Line 24
    Sintaxis incorrecta cerca de la palabra clave 'ELSE'.

    O COMO  PUEDO PONERLE DENTRO DE EL (IF NOT EXIST ())

    GRACIAS


    miércoles, 26 de junio de 2013 14:42

Respuestas

  • Hola:

    No comprendo que es lo que quieres hacer, pero eso siempre te marcará error porque solo estás haciendo condiciones y no alguna operación una vez que se haya cumplido tal condición o que no se haya cumplido.

    IF @parRepro = '0' BEGIN if not exists(select * from cal_comisionpersn where counng=@w1unid and coarng=@w1area and coanio=@paranio and conmes=@parnmes and copers=@parpers) BEGIN --CODIGO SI SE CUMPLE LA CONDICION END

    END ELSE -- SUPONGO QUE ESTE ELSE ES DEL IF @parRepro = '0' BEGIN if not exists(select * from REC_comisionpersn where counng=@w1unid and coarng=@w1area and coanio=@paranio and conmes=@parnmes and copers=@parpers) BEGIN --CODIGO SI SE CUMPLE LA CONDICION END END


    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE


    miércoles, 26 de junio de 2013 14:53

Todas las respuestas

  • No estas colocando que pasa si NO EXISTS. Ademas te recomiendo los bloques de identacion BEGIN END

    DECLARE @parRepro AS VARCHAR(1)
    SET @parRepro = '0'
    IF (@parRepro = '0')
    BEGIN
        if not exists(select * from dbo.Tabla WHERE    1 = 1)
        SET @parRepro = 1 -- Algo debe pasar
    END
    ELSE
    BEGIN
        if not exists(select * from dbo.Tabla WHERE    1 = 1)
        SET @parRepro = 1 -- Algo debe pasar
    END

    Saludos,

    miércoles, 26 de junio de 2013 14:52
  • Hola:

    No comprendo que es lo que quieres hacer, pero eso siempre te marcará error porque solo estás haciendo condiciones y no alguna operación una vez que se haya cumplido tal condición o que no se haya cumplido.

    IF @parRepro = '0' BEGIN if not exists(select * from cal_comisionpersn where counng=@w1unid and coarng=@w1area and coanio=@paranio and conmes=@parnmes and copers=@parpers) BEGIN --CODIGO SI SE CUMPLE LA CONDICION END

    END ELSE -- SUPONGO QUE ESTE ELSE ES DEL IF @parRepro = '0' BEGIN if not exists(select * from REC_comisionpersn where counng=@w1unid and coarng=@w1area and coanio=@paranio and conmes=@parnmes and copers=@parpers) BEGIN --CODIGO SI SE CUMPLE LA CONDICION END END


    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE


    miércoles, 26 de junio de 2013 14:53
  • muchas gracias x las respuestas ahi si ya las entendi... como ha sido me falta la condicion por verdadero y falso

    gracias

    miércoles, 26 de junio de 2013 15:16
  • Algo más en que podamos apoyarte ?

    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    sábado, 31 de agosto de 2013 18:02