Torna al Thread

USE tempdb; GO CREATE TABLE dbo.TabellaUno ( ID int IDENTITY(1,1) PRIMARY KEY CLUSTERED , Nome varchar(30) ) GO CREATE TABLE dbo.TabellaDue ( ID int IDENTITY(1,1) PRIMARY KEY CLUSTERED , Nome varchar(30) ) GO INSERT INTO dbo.TabellaUno (Nome) VALUES ('Alessandro Alpi') INSERT INTO dbo.TabellaUno (Nome) VALUES ('David DeGiacomi') INSERT INTO dbo.TabellaUno (Nome) VALUES ('Matteo Raumer') INSERT INTO dbo.TabellaUno (Nome) VALUES ('Marco Caruso') -- INSERT INTO dbo.TabellaDue (Nome) VALUES ('Marco Rossi') INSERT INTO dbo.TabellaDue (Nome) VALUES ('Michael Denny') GO -- creo un trigger che dall'inserimento di un record da TabellaUno inserisce in TabellaDue CREATE TRIGGER tr_TabellaDueInsert ON dbo.TabellaUno AFTER INSERT, UPDATE AS BEGIN DECLARE @valore varchar(30) SELECT @valore = INSERTED.Nome FROM INSERTED INSERT INTO dbo.TabellaDue (Nome) VALUES (@valore) END GO IF EXISTS (SELECT * FROM sysobjects WHERE id = object_id('dbo.proc_Insert')) DROP PROCEDURE dbo.proc_Insert GO -- ora creo una stored procedure che inserisce il record nella TabellaUno e visualizza il valore di @@IDENTITY e SCOPE_IDENTITY() CREATE PROCEDURE dbo.proc_Insert @Nome varchar(30) AS BEGIN SET NOCOUNT ON; INSERT INTO dbo.TabellaUno (Nome) VALUES (@Nome) SELECT [Con Identity] = @@IDENTITY SELECT [Con Scope_Identity()] = SCOPE_IDENTITY() END GO EXEC dbo.proc_Insert 'Nuovo Nome' GO DROP TABLE dbo.TabellaUno DROP TABLE dbo.TabellaDue GO
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5