post icon

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

6 ottobre 2009 @ 12:03

No comments yet.

Leave a comment

Leave a Reply

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