Blog‎ > ‎Articoli‎ > ‎

Appunti comandi SQL Server

pubblicato 27 gen 2015, 09:06 da Rudy Azzan   [ aggiornato in data 9 ago 2017, 02:50 ]

Resettare chiave primaria auto incrementale di una tabella

Fa ripartire l'indice numerico auto incrementale di una chiave primaria dal numero desiderato

DBCC CHECKIDENT ([nome tabella], RESEED, 0)


Esempio di trigger SQL 2008 R2

Questo trigger interviene dopo l'inserimento o la modifica di un record in una tabella SQL server 2008 R2 e reimposta il dato di un campo secondo la regola definita

-- Imposto il database da utilizzare
USE
	[nome database];
GO

-- Se esiste già il trigger lo elimino
IF EXISTS (SELECT * FROM sys.triggers
	WHERE parent_class = 0 AND name = '[nome trigger]')
DROP TRIGGER
	[nome trigger]
ON DATABASE;
GO

-- Crea il trigger
CREATE TRIGGER
	[nome trigger]
ON
	[nome tabella]
AFTER INSERT, UPDATE
AS
BEGIN
	UPDATE
		ordini
	SET
		[nome campo] = [valore]
	FROM
		[nome tabella] as ordini
	JOIN 
		inserted as inserimenti 
	ON
		ordini.ID = inserimenti.ID
	JOIN
		[nome altra tabella]
	ON
		inserimenti.IDAltraTabella = [nome altra tabella].ID
	WHERE
		[nome altra tabella].[nome campo] = [valore]
END
GO
Comments