Check IF EXISTS Table, User Defined Function or Stored Procedure

Check IF EXISTS Table, User Defined Function or Stored Procedure

Quando si crea uno statement di CREATE o di ALTER per una TABLE, per UDF (User Defined Function) oppure per una SP (Stored Procedure) è bene controllare prima se esiste o meno, e prendere provvedimenti in base all’esistenza o meno.

Ecco gli snipper rispettivamente per una TABLE,  UDF e per una SP:

--CHECK DELL'ESISTENZA DI UNA TABELLA IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MY_TABLE]') AND type in (N'U')) BEGIN PRINT 'LA TABELLA NON ESISTE' END ELSE BEGIN PRINT 'LA TABELLA ESISTE' END --CHECK DELL'ESISTENZA DI UNA USERD DEFINED FUNCTION IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MY_UDF]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) BEGIN PRINT 'LA USER DEFINED FUNCTION NON ESISTE' END ELSE BEGIN PRINT 'LA USER DEFINED FUNCTION ESISTE' END --CHECK DELL'ESISTENZA DI UNA STORED PROCEDURE IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MY_SPO]') AND type in (N'P', N'PC')) BEGIN PRINT 'LA STORED PROCEDURE NON ESISTE' END ELSE BEGIN PRINT 'LA STORED PROCEDURE ESISTE' END

In sostanza quello che cambia è il TYPE definito nella sys.objects

Lascia un commento

Il tuo indirizzo email non sarĂ  pubblicato. I campi obbligatori sono contrassegnati *

Are you human? Time limit is exhausted. Please reload CAPTCHA.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.