istruzioni_da_eseguire
===============================
Ciao...
--
Luca Bianchi
Microsoft MVP - SQL Server
"Mago Merlino" <magomer...@Mfreehtml.it> wrote in message
news:R5JDa.1964$hf2.1...@news.edisontel.com...
Ma è proprio questo il mio problema. Non ho capito cosa eseguire.
Dovrei fare una
INSERT INTO LogTabella (Campo1) VALUES ...
Cosa?
Devo prendere i valori da inserted o updated?
Grazie.
Ciao Mago Merlino,
credo che la cosa migliore sia quella di proporti un esempio concreto.
Nella tabella dbo.StudentsLog andrò a memorizzare il nome dell'utente che ha
inserito/modificato un utente nella tabella dbo.Students e la data
dell'ultima modifica.
USE tempdb
GO
/* Creo la tabella dbo.Students */
CREATE TABLE dbo.Students(
StudentID int NOT NULL IDENTITY PRIMARY KEY,
FirstName varchar(20) NOT NULL,
LastName varchar(20) NOT NULL
)
GO
/* Creo la tabella dbo.StudentsLog */
CREATE TABLE dbo.StudentsLog(
StudentID int NOT NULL,
InsertedBy varchar(20) NULL,
UpdatedBy varchar(20) NULL,
LastModify datetime NOT NULL
)
GO
/* Creo il trigger di insert dbo.trI_Students */
CREATE TRIGGER dbo.trI_Students
ON dbo.Students
FOR INSERT
AS
INSERT dbo.StudentsLog(StudentID, InsertedBy, LastModify)
SELECT I.StudentID, SYSTEM_USER, GETDATE()
FROM Inserted I
GO
/* Creo il trigger di update dbo.trU_Students */
CREATE TRIGGER dbo.trU_Students
ON dbo.Students
FOR UPDATE
AS
UPDATE dbo.StudentsLog
SET UpdatedBy = SYSTEM_USER,
LastModify = GETDATE()
FROM dbo.StudentsLog S JOIN Inserted I
ON S.StudentID = I.StudentID
GO
/* Inserisco un nuovo studente */
INSERT dbo.Students VALUES('Lorenzo', 'Benaglia')
GO
/* Verifico i log */
SELECT *
FROM dbo.StudentsLog
GO
/* Aggiorno la mia riga */
UPDATE dbo.Students
SET FirstName = 'Luca'
WHERE FirstName = 'Lorenzo'
GO
/* Verifico i log */
SELECT *
FROM dbo.StudentsLog
GO
/* Pulizia */
DROP TABLE dbo.Students, dbo.StudentsLog
Per maggiori informazioni leggi il paragrafo "CREATE TRIGGER"
URL:tsqlref.chm::/ts_create2_7eeq.htm sui Books Online.
> Grazie.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
UGIdotNET - http://www.ugidotnet.org
UGISS - http://www.ugiss.org
=================
INSERT LogTabella
SELECT *
FROM INSERTED
=================
Ciao...
--
Luca Bianchi
Microsoft MVP - SQL Server
"Mago Merlino" <magomer...@Mfreehtml.it> wrote in message
news:LwJDa.2015$hf2.1...@news.edisontel.com...
Grazie mille ragazzi. Era questo il mio dubbio.
Ciao.