2025-06-25 11:25:55 +02:00

56 lines
1.4 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[sp_insertClienteIntoDBNew]
@codiceFiscale as varchar(16),
@utente as varchar(13),
@nome as varchar(50) = null,
@cognome as varchar(50) = null,
@codiceContratto as varchar(11) = null
AS
BEGIN
SET NOCOUNT ON;
DECLARE @found as int
DECLARE @seekCognome as nvarchar(100)
SET @seekCognome = ''
--esiste gia?
SELECT @found = count(*)
FROM [dbo].[Cliente]
WHERE [CodFiscale] = @codiceFiscale
AND [Utente] = @utente
IF(@found <= 0) --non esiste
BEGIN
INSERT INTO [dbo].[Cliente]
([DtCreazione]
,[CodEsterno]
,[CodFiscale]
,[Utente]
,[Cognome]
,[Nome]
,[Nominativo]
,[CodiceContratto])
VALUES
(getdate()
,@codiceFiscale
,@codiceFiscale
,@utente
,@cognome
,@nome
,case when len(@cognome)> 49 then @cognome else @nome + ' ' + @cognome END
,@CodiceContratto)
END
ELSE
BEGIN
-- SELECT @seekCognome = Cognome
-- FROM [dbo].[Cliente]
-- WHERE [CodFiscale] = @codiceFiscale
-- AND [Utente] = @utente
-- IF(ISNULL(@seekCognome,'') = '')
-- BEGIN
UPDATE [dbo].[Cliente]
SET [Nominativo] = case when len(@cognome)> 49 then @cognome else @nome + ' ' + @cognome END
,[Cognome] = @cognome
,[Nome] = @nome
,[CodiceContratto] = @CodiceContratto
WHERE [CodFiscale] = @codiceFiscale
AND [Utente] = @utente
-- END
END
END