Escolher um só dado para ser deletado no SQL server?
Fala pessoa, blz?!
Alguém sabe como usar o case para escolher um só dado para ser deletado no SQL server?
Dentro de um procedimento que já usei o if else ao invés de apagar uma linha inteira de uma tabela quero que escolha uma célula apenas para ser apagada.
Alguém sabe como usar o case para escolher um só dado para ser deletado no SQL server?
Dentro de um procedimento que já usei o if else ao invés de apagar uma linha inteira de uma tabela quero que escolha uma célula apenas para ser apagada.
create procedure sp_cadastro_album
@opcao INT=1,
@idalbum int ,
@artista varchar (15)= NULL,
@TituloAlbum varchar (15) =NULL,
@classificacao int,
@condicao varchar(25)
AS
Begin
if (@opcao=1)
Begin
insert into album(artista,tituloAlbum,classificacao,condicao) values (@artista, @TituloAlbum,@classificacao,@condicao)
SELECT @@IDENTITY AS Retorno
End
else if (@opcao=2)
begin
Update album set artista=@artista, tituloAlbum=@TituloAlbum ,classificacao=@classificacao condicao=@condicao
where idalbum=@idalbum
SELECT @idalbum AS Retorno
end
else if (@opcao=3)
begin
delete from Album where idAlbum=@idalbum
SELECT @idalbum AS Retorno
end
else
Begin
RAISERROR ('AÇAO INVALIDA BITCH',14,1)
END
end Celso
Curtidas 0
Respostas
Emerson Nascimento
07/05/2019
você quer limpar o conteúdo de um campo, é isso?
se for, você pode mandar mais um parâmetro:
daí, quando você mandar opção 3 e campo='', a procedure apagará o registro, porém se você mandar opção 3 e indicar um campo, a procedure irá limpar o conteúdo do campo.
se for, você pode mandar mais um parâmetro:
create procedure sp_cadastro_album
@opcao INT=1,
@idalbum int,
@artista varchar(15) = NULL,
@TituloAlbum varchar(15) = NULL,
@classificacao int,
@condicao varchar(25),
@campo varchar(25) = ''
AS
Begin
declare @strSQL varchar(200)
if (@opcao=1)
begin
insert into album(artista,tituloAlbum,classificacao,condicao) values (@artista, @TituloAlbum,@classificacao,@condicao)
SELECT @@IDENTITY AS Retorno
end
else if (@opcao=2)
begin
Update Album set artista=@artista, tituloAlbum=@TituloAlbum ,classificacao=@classificacao, condicao=@condicao
where idalbum=@idalbum
SELECT @idalbum AS Retorno
end
else if (@opcao=3)
begin
if (@campo = '')
delete from Album where idAlbum=@idalbum
else
exec('update Album set '+@campo+'=null where idAlbum=@idalbum')
SELECT @idalbum AS Retorno
end
else
begin
RAISERROR ('AÇAO INVALIDA',14,1)
end
enddaí, quando você mandar opção 3 e campo='', a procedure apagará o registro, porém se você mandar opção 3 e indicar um campo, a procedure irá limpar o conteúdo do campo.
GOSTEI 0