Torna al Thread
ALTER TRIGGER [dbo].[TR_AGGIUNGI_ANAGRAFICA]
ON
[dbo].[tab_Alloggiati]
AFTER INSERT,UPDATE
AS
DECLARE @Cognome varchar(50);
DECLARE @Nome varchar(50);
DECLARE @Nuovo_Codice int;
DECLARE @Codice_Albergo int;
DECLARE @Sesso smallint;
DECLARE @Data_Nascita datetime;
DECLARE @Luogo_Nascita_Codice int;
DECLARE @Luogo_Nascita_Descrizione varchar(50);
DECLARE @Provincia_Nascita_Codice int;
DECLARE @Provincia_Nascita_Descrizione varchar(50);
DECLARE @Stato_Nascita_Codice int;
DECLARE @Stato_Nascita_Descrizione varchar(50);
DECLARE @Cittadinanza_Codice int;
DECLARE @Cittadinanza_Descrizione varchar(50);
DECLARE @Comune_Residenza_Codice int;
DECLARE @Comune_Residenza_Descrizione varchar(50);
DECLARE @Provincia_Residenza_Codice int;
DECLARE @Provincia_Residenza_Descrizione varchar(50);
DECLARE @Stato_Residenza_Codice int;
DECLARE @Stato_Residenza_Descrizione varchar(50);
DECLARE @Documento_Identita_Codice int;
DECLARE @Numero_Documento varchar(20);
DECLARE @Luogo_Rilascio_Documento_Codice int;
DECLARE @Luogo_Rilascio_Documento_Descrizione varchar(50);
DECLARE @Stato_Rilascio_Documento_Codice int;
DECLARE @Stato_Rilascio_Documento_Descrizione varchar(50);
DECLARE @TipoDocumento int;
SELECT @Cognome = Cognome FROM inserted;
SELECT @Nome = Nome FROM inserted;
SELECT @Cognome = Cognome FROM inserted;
SELECT @Nome = Nome FROM inserted;
SELECT @Cognome = Cognome FROM inserted;
SELECT @Nome = Nome FROM inserted;
SELECT @Codice_Albergo = Codice_Albergo FROM inserted;
SELECT @Sesso = Sesso FROM inserted;
SELECT @Data_Nascita = Data_Nascita FROM inserted;
SELECT @Luogo_Nascita_Codice = Luogo_Nascita_Codice FROM inserted;
SELECT @Luogo_Nascita_Descrizione = Luogo_Nascita_Descrizione FROM inserted;
SELECT @Provincia_Nascita_Codice = Provincia_Nascita_Codice FROM inserted;
SELECT @Provincia_Nascita_Descrizione = Provincia_Nascita_Descrizione FROM inserted;
SELECT @Stato_Nascita_Codice = Stato_Nascita_Codice FROM inserted;
SELECT @Stato_Nascita_Descrizione = Stato_Nascita_Descrizione FROM inserted;
SELECT @Cittadinanza_Codice = Cittadinanza_Codice FROM inserted;
SELECT @Cittadinanza_Descrizione = Cittadinanza_Descrizione FROM inserted;
SELECT @Comune_Residenza_Codice = Comune_Residenza_Codice FROM inserted;
SELECT @Comune_Residenza_Descrizione = Comune_Residenza_Descrizione FROM inserted;
SELECT @Provincia_Residenza_Codice = Provincia_Residenza_Codice FROM inserted;
SELECT @Provincia_Residenza_Descrizione = Provincia_Residenza_Descrizione FROM inserted;
SELECT @Stato_Residenza_Codice = Stato_Residenza_Codice FROM inserted;
SELECT @Stato_Residenza_Descrizione = Stato_Residenza_Descrizione FROM inserted;
SELECT @Documento_Identita_Codice = Documento_Identita_Codice FROM inserted;
SELECT @Numero_Documento = Numero_Documento FROM inserted;
SELECT @Luogo_Rilascio_Documento_Codice = Luogo_Rilascio_Documento_Codice FROM inserted;
SELECT @Luogo_Rilascio_Documento_Descrizione = Luogo_Rilascio_Documento_Descrizione FROM inserted;
SELECT @Stato_Rilascio_Documento_Codice = Stato_Rilascio_Documento_Codice FROM inserted;
SELECT @Stato_Rilascio_Documento_Descrizione = Stato_Rilascio_Documento_Descrizione FROM inserted;
IF (SELECT COUNT(*) FROM Tab_Anagrafica_Clienti WHERE
Cognome = @Cognome AND
Nome = @Nome AND
Data_Nascita = @Data_Nascita AND
R_Luogo_Nascita_codice = @Luogo_Nascita_Codice AND
R_Codice_Albergo = @Codice_Albergo) = 0
BEGIN
SELECT @Nuovo_Codice = MAX(Codice_Cliente) + 1 FROM Tab_Anagrafica_Clienti WHERE R_Codice_Albergo = @Codice_Albergo;
if (ISNULL(@Nuovo_Codice,0) = 0)
BEGIN
SET @Nuovo_Codice = 1
END
INSERT INTO Tab_Anagrafica_Clienti(
Codice_Cliente, R_Codice_Albergo,
Cognome, Nome,
Sesso, Data_Nascita,
R_Luogo_Nascita_Codice, R_Luogo_Nascita_Descrizione,
R_Provincia_Nascita_Codice, R_Provincia_Nascita_Descrizione,
R_Stato_Nascita_Codice, R_Stato_Nascita_Descrizione,
R_Cittadinanza_Codice, R_Cittadinanza_Descrizione,
R_Comune_Residenza_Codice, R_Comune_Residenza_Descrizione,
R_Provincia_Residenza_Codice, R_Provincia_Residenza_Descrizione,
R_Stato_Residenza_Codice, R_Stato_Residenza_Descrizione,
R_Documento_Identita_Codice, R_Numero_Documento,
R_Luogo_Rilascio_Documento_Codice, R_Luogo_Rilascio_Documento_Descrizione,
R_Stato_Rilascio_Documento_Codice, R_Stato_Rilascio_Documento_Descrizione)
VALUES(
@Nuovo_Codice, @Codice_Albergo,
@Cognome, @Nome,
@Sesso, @Data_Nascita,
@Luogo_Nascita_Codice, @Luogo_Nascita_Descrizione,
@Provincia_Nascita_Codice, @Provincia_Nascita_Descrizione,
@Stato_Nascita_Codice, @Stato_Nascita_Descrizione,
@Cittadinanza_Codice, @Cittadinanza_Descrizione,
@Comune_Residenza_Codice, @Comune_Residenza_Descrizione,
@Provincia_Residenza_Codice, @Provincia_Residenza_Descrizione,
@Stato_Residenza_Codice, @Stato_Residenza_Descrizione,
@Documento_Identita_Codice, @Numero_Documento,
@Luogo_Rilascio_Documento_Codice, @Luogo_Rilascio_Documento_Descrizione,
@Stato_Rilascio_Documento_Codice, @Stato_Rilascio_Documento_Descrizione)
END
ELSE
BEGIN
UPDATE Tab_Anagrafica_Clienti
SET Sesso = @Sesso,
R_Provincia_Nascita_Codice = @Provincia_Nascita_Codice,
R_Provincia_Nascita_Descrizione = @Provincia_Nascita_Descrizione,
R_Stato_Nascita_Codice = @Stato_Nascita_Codice,
R_Stato_Nascita_Descrizione = @Stato_Nascita_Descrizione,
R_Cittadinanza_Codice = @Cittadinanza_Codice,
R_Cittadinanza_Descrizione = @Cittadinanza_Descrizione,
R_Comune_Residenza_Codice = @Comune_Residenza_Codice,
R_Comune_Residenza_Descrizione = @Comune_Residenza_Descrizione,
R_Provincia_Residenza_Codice = @Provincia_Residenza_Codice,
R_Provincia_Residenza_Descrizione = @Provincia_Residenza_Descrizione,
R_Stato_Residenza_Codice = @Stato_Residenza_Codice,
R_Stato_Residenza_Descrizione = @Stato_Residenza_Descrizione,
R_Documento_Identita_Codice = @Documento_Identita_Codice,
R_Numero_Documento = @Numero_Documento,
R_Luogo_Rilascio_Documento_Codice = @Luogo_Rilascio_Documento_Codice,
R_Luogo_Rilascio_Documento_Descrizione = @Luogo_Rilascio_Documento_Descrizione,
R_Stato_Rilascio_Documento_Codice = @Stato_Rilascio_Documento_Codice,
R_Stato_Rilascio_Documento_Descrizione = @Stato_Rilascio_Documento_Descrizione
WHERE
Cognome = @Cognome AND
Nome = @Nome AND
Data_Nascita = @Data_Nascita AND
R_Luogo_Nascita_codice = @Luogo_Nascita_Codice AND
R_Codice_Albergo = @Codice_Albergo
END