56 lines
1.4 KiB
Transact-SQL
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 |