Inquiridor
while

Pergunta
-
Boa tarde
Pessoal
Fiz uma consulta no sql, mais o IF NOT EXISTE não está funcionando, pois pelo menos um existe na tabela.segue a consulta que fiz
DELETE
FROM
MP_RH_CARGO_TREINAMENTO
WHERE
Cargo_codigo IN (SELECT value FROM fn_Split (@p_Cargo_codigo, ',')) AND
idTreinamento NOT IN (SELECT value FROM fn_Split (@p_idTreinamento, ','))
BEGIN
IF NOT EXISTS(
SELECT
idTreinamento
FROM
MP_RH_CARGO_TREINAMENTO
WHERE
Cargo_codigo IN (SELECT value FROM fn_Split (@p_Cargo_codigo, ',')) AND
idTreinamento = (SELECT value FROM fn_Split (@p_idTreinamento, ','))
)
BEGIN
INSERT INTO
MP_RH_CARGO_TREINAMENTO (
idCargo ,
Cargo_codigo ,
idTreinamento ,
Codigo_Treinamento ,
data_criacao ,
login_usuario
)
SELECT
@p_idCargo ,
@p_Cargo_codigo ,
T1.value ,
T2.Codigo_Treinamento ,
CURRENT_TIMESTAMP ,
@p_Login
FROM
fn_Split (@p_idTreinamento, ',') as T1
inner join MP_RH_TIPO_TREINAMENTO as T2 on T2.Id = T1.value;
SELECT SCOPE_IDENTITY() AS ID
END
END
Todas as Respostas
-
Se eu compreendi seu "If Not Exists" sempre retorna TRUE? Certo?
Seu delete garante isso, uma vez que voce deleta usando o mesmo critério que o IF NOT EXISTS
att
William John Adam Trindade
Analyste-programmeur
Sogi Informatique ltée
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".- Editado William John Adam Trindade sexta-feira, 25 de janeiro de 2019 14:51
-
Bom dia , o correto não seria trocar isso
AND idTreinamento = (SELECT value FROM fn_Split(@p_idTreinamento, ',')
por isso
AND idTreinamento IN (SELECT value FROM fn_Split(@p_idTreinamento, ',')
seu objetivo e fazer um delete de dados e um insert desses nesmos dados ??
o que tem na variável @p_Cargo_codigo e @p_idTreinamento ??
Wesley Neves - Brasilia-DFhttps://wesleyneves.wordpress.com/
SELECT Tab.[that's me:]
FROM
(
VALUES
('Wesley Neves'),
('Analista.NET'),
('Pós Graduando em Banco de Dados com ênfase em BI'),
('MTA -SQL Server'),
('MTA -Web Developed')
) AS Tab ("that's me:");
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
- Sugerido como Resposta Junior Galvão - MVPMVP terça-feira, 21 de maio de 2019 12:43
-
-
Por favor , nos diga o que vc precisa realizar na sua query, qual sua real necessidade ??
Me parece que seu IF NOT EXISTS , sempre vai retornar true , por que v anteriormente está fazendo os deletes dos Valores , logo eles não existira.
Wesley Neves - Brasilia-DFhttps://wesleyneves.wordpress.com/
SELECT Tab.[that's me:]
FROM
(
VALUES
('Wesley Neves'),
('Analista.NET'),
('Pós Graduando em Banco de Dados com ênfase em BI'),
('MTA -SQL Server'),
('MTA -Web Developed')
) AS Tab ("that's me:");
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves