Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia Galera,
Sou meia novata em trabalhar com Procedure, e gostaria de fazer o seguinte:
Preciso criar um SELECT que obter se o dado existe ou não, se existir ele da um Update, caso ele não existe, ele deve dar um Insert.
Alguém poderia me ajudar a montar uma Proc desta forma?!
Vlw!
[]'soamazing
Olá Felipe,
**Será que eu posso dar um SET com o resultado de um Select?**
Set @suaVariavelDeclarada = SELECT TOP 1 datafim FROM tabela ORDER BY id DESC
[]'soamazing
>
Olá,
Dentro da sua procedure você fará algo do tipo
declara sua variável do tipo int;
Declare @suaVariavelDeclarada int;
então atribua o valor a váriavel:
pode ser definir a sua váriavel como a chave primária da consulta que voce quer, (ou qualquer outra váriavel que seja relevante...)
Set @suaVariavelDeclarada....
IF (@suaVariavelDeclarada IS NULL) -- aqui está a sacada que você precisa: a verificação de nulidade.
BEGIN
-- sua condição de insert
END
ELSE
BEGIN
-- sua condição de update
END
Com isso você deve conseguir resolver...
Abcs,
Olá,
Pessoal já consegui fazer o que eu queria, na verdade é super simples, segue a resolução.
SET @nomevar = (SELECT TOP 1 campo FROM tabela WHERE codigo = @tal)
[]'soamazing
>
Olá,
Pessoal já consegui fazer o que eu queria, na verdade é super simples, segue a resolução.
SET @nomevar = (SELECT TOP 1 campo FROM tabela WHERE codigo = @tal)
[]'soamazing
Poderia fazer utilizando também o EXISTS :joia:
Que bom que resolveu.:clap:
Boa sorte
Abçs
Olá,
Dentro da sua procedure você fará algo do tipo
então atribua o valor a váriavel:
pode ser definir a sua váriavel como a chave primária da consulta que voce quer, (ou qualquer outra váriavel que seja relevante...)
Set @suaVariavelDeclarada....
IF (@suaVariavelDeclarada IS NULL) -- aqui está a sacada que você precisa: a verificação de nulidade.
BEGIN
-- sua condição de insert
END
ELSE
BEGIN
-- sua condição de update
END
Com isso você deve conseguir resolver...
Abcs,