Nwlapcug.com


Tutorial su trigger SQL & Stored procedure

Tutorial su trigger SQL & Stored procedure


Stored procedure e trigger all'interno di un database sono costrutti simili. Entrambi possono eseguire le stesse istruzioni SQL. La più grande differenza tra i due è come vengono eseguiti. Una stored procedure deve essere eseguita da un utente, mentre un trigger viene eseguito dal sistema come risultato di un evento. Gli eventi che causano trigger da attivare includono dati inserimenti, aggiornamenti ed eliminazioni. Uno svantaggio nell'utilizzo di trigger anziché stored procedure è che non possono accettare parametri.

Istruzioni

Stored procedure

1

Utilizzare l'istruzione riportata di seguito per creare una stored procedure base senza parametri.

CREATE PROCEDURE mySproc
COME
BEGIN

-- SQL Statements

FINE

2

Creare una stored procedure con parametri copiando il codice riportato di seguito. Per passare un parametro con un valore predefinito, includere un segno di uguale e il valore desiderato.

CREATE PROCEDURE mySproc
{

@Param1 varchar(50),
@Param2 datetime = NULL,
@Param3 int = 0

}
COME
BEGIN

-- SQL Statements

FINE

3

Aggiornare o modificare una stored procedure utilizzando il \"Alter\" comando dell'esempio qui sotto.

ALTER PROCEDURE mySproc
COME
BEGIN

-- SQL Statements

FINE

4

Rimuovere una stored procedure dal database con il \"Drop\" comando come illustrato di seguito.

DROP PROCEDURE mySproc;

5

Eseguire la stored procedure all'interno di SQL eseguendo i comandi qui sotto. Se si includono parametri, è necessario metterli nell'ordine in cui è previsto dalla stored procedure. Le stringhe passate dovrebbero essere tra virgolette singole.

Esempio senza parametri:
EXEC dbo.mySproc
VAI

Esempio con parametri:
EXEC dbo.mySproc 'dati di stringa', ' 01/01/1900', 1;

Trigger

6

Aggiungere un trigger di base copiando il codice qui sotto.

CREATE TRIGGER myTrigger
SU myTable
DOPO L'INSERIMENTO
COME
BEGIN

-- SQL Statements

FINE

7

Rendere un trigger che verrà eseguito dopo eventi multipli con i comandi che seguono.

CREATE TRIGGER myTrigger
SU myTable
DOPO INSERT, UPDATE, DELETE
COME
BEGIN

-- SQL Statements

FINE

8

Modificare il trigger utilizzando il \"Alter\" comando.

ALTER TRIGGER myTrigger
SU myTable
DOPO L'INSERIMENTO
COME
BEGIN

-- SQL Statements

FINE

9

Eseguire le istruzioni da un trigger invece i comandi che causano l'evento utilizzando il \"Instead Of\" comando. Ad esempio, se mySproc aggiornato la tabella myTable, causerebbe un evento di aggiornamento. Se tu avessi un trigger impostato fino a catturare quell'evento che comprendeva un \"Instead Of\" comando, il codice dal trigger viene eseguito, e mai sarebbe eseguire il codice dalla stored procedure.

CREATE TRIGGER myTrigger
SU myTable
INVECE DI AGGIORNAMENTO
COME
BEGIN

-- SQL Statements

FINE

10

Rimuovere il trigger dal database con il \"Drop\" comando come illustrato di seguito.

DROP TRIGGER myTrigger;

Consigli & Avvertenze

  • Se è necessario creare i trigger sono condizionali, si può eseguire uno sull'evento di aggiornamento e utilizzare il comando update per determinare se una colonna specifica è stato modificato.
  • Se non UPDATE(myColumn)
  • RITORNO