Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera,
Estou com uma dúvida. Tenho uma stored procedure que fazer um save de dados de um formulário.
A stored procedure é essa:
USE [siga_enterSistemasDesenvolvimento]
GO
/**** Object: StoredProcedure [dbo].[SaveDefinicaoFuncional4] Script Date: 19/08/2014 11:14:29 ****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[SaveDefinicaoFuncional4]
@pkDefinicaoFuncional4 int = null
,@fkNumeroReferenciaOportunidade int = null
,@fkUsuario int = null
,@dataInclusao datetime = null
,@valorVenda numeric = null
,@valorPD numeric = null
,@valorMateriais numeric = null
,@valorConsumo numeric = null
,@valorInstalacao numeric = null
,@valorMaodeobra numeric = null
,@valorInfraestrutura numeric = null
,@valorSupervisao numeric = null
,@prazo nvarchar(max) = null
,@informacao nvarchar(4000) = null
as
set nocount on
if not exists(select * from definicaoFuncional4 where
(@pkDefinicaoFuncional4 is null or pkDefinicaoFuncional4 = @pkDefinicaoFuncional4)
and (@fkNumeroReferenciaOportunidade is null or fkNumeroReferenciaOportunidade = @fkNumeroReferenciaOportunidade)
)
begin
insert definicaoFuncional4(fkNumeroReferenciaOportunidade, fkUsuario, dataInclusao) values(@fkNumeroReferenciaOportunidade, @fkUsuario, GETDATE())
set @pkDefinicaoFuncional4 = @@identity
end
update DefinicaoFuncional4 set
valorVenda = case when @valorVenda is null then valorVenda else @valorVenda end
,valorPD = case when @valorPD is null then valorPD else @valorPD end
,valorMateriais = case when @valorMateriais is null then valorMateriais else @valorMateriais end
,valorConsumo = case when @valorConsumo is null then valorConsumo else @valorConsumo end
,valorInstalacao = case when @valorInstalacao is null then valorInstalacao else @valorInstalacao end
,valorMaodeobra = case when @valorMaodeobra is null then valorMaodeobra else @valorMaodeobra end
,valorInfraestrutura = case when @valorInfraestrutura is null then valorInfraestrutura else @valorInfraestrutura end
,valorSupervisao = case when @valorSupervisao is null then valorSupervisao else @valorSupervisao end
,prazo = case when @prazo is null then prazo else @prazo end
,informacao = case when @informacao is null then informacao else @informacao end
where
(@pkDefinicaoFuncional4 is null or pkDefinicaoFuncional4 = @pkDefinicaoFuncional4)
and (@fkNumeroReferenciaOportunidade is null or fkNumeroReferenciaOportunidade = @fkNumeroReferenciaOportunidade)
return @pkDefinicaoFuncional4
A ideia do sistema é que insira um novo registro e se houver alteração crie uma nova versão, ou seja, um novo registro na tabela. Como eu poderia fazer isso?
Agradeço desde já.
Resolvido :)
Carregando comentários...