Выберите больше значений в предложении IF в хранимой процедуре - PullRequest
0 голосов
/ 28 марта 2019

У меня проблема с синтаксисом в моей хранимой процедуре, когда выбирается больше значений в моем IF, во фрагменте кода 37 ИЛИ 35.

IF 37 OR 35 NOT IN (SELECT CodPerfilSistema 
                    FROM [BRSAODB09].[ADMIN].[dbo].[PERFIL_USUARIO] 
                    WHERE CodUsuario = @pCodUsuario)
BEGIN
    SET @CondicaoEmpresa = ' AND [Lote].CodEmpresa = ' +  CONVERT(varchar(10), @pCodEmpresa);
    SET @CondicaoProjeto = ' AND [AUD_Projeto].CodProjeto = ' +  CONVERT(varchar(10), @pCodProjeto);
END

Я попробовал код выше.

А ниже показано, как работает код

 IF 37 NOT IN (SELECT CodPerfilSistema 
               FROM [BRSAODB09].[ADMIN].[dbo].[PERFIL_USUARIO] 
               WHERE CodUsuario = @pCodUsuario)
BEGIN
    SET @CondicaoEmpresa = ' AND [Lote].CodEmpresa = ' +  CONVERT(varchar(10), @pCodEmpresa);
    SET @CondicaoProjeto = ' AND [AUD_Projeto].CodProjeto = ' +  CONVERT(varchar(10), @pCodProjeto);
END

Мне нужно разрешение на Id 37 и 35.

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Спасибо, ребята, за помощь, я нашел способ решить мою проблему.

Так и осталось:

IF NOT EXISTS(
SELECT 1 
FROM [BRSAODB09].[ADMIN].[dbo].[PERFIL_USUARIO] 
WHERE CodUsuario = @pCodUsuario
AND  CodPerfilSistema IN(37,35)
)
BEGIN
     SET @CondicaoEmpresa = ' AND [Lote].CodEmpresa = ' +  CONVERT(varchar(10), 
     @pCodEmpresa);

     SET @CondicaoProjeto = ' AND [AUD_Projeto].CodProjeto = ' +  CONVERT(varchar(10), 
     @pCodProjeto);
END 
0 голосов
/ 28 марта 2019

попробуйте ниже

IF not exists (SELECT * FROM [BRSAODB09].[ADMIN].[dbo].[PERFIL_USUARIO] where CodUsuario = @pCodUsuario
        and CodPerfilSistema in (37,35))
BEGIN
    SET @CondicaoEmpresa = ' AND [Lote].CodEmpresa = ' +  CONVERT(varchar(10), @pCodEmpresa);
    SET @CondicaoProjeto = ' AND [AUD_Projeto].CodProjeto = ' +  CONVERT(varchar(10), @pCodProjeto);
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...