parent nodes: SQLapuntes

Exists

Exists Table

IF EXISTS (SELECT 1 
             FROM INFORMATION_SCHEMA.TABLES 
            WHERE TABLE_NAME='tablename') 
    SELECT 'tablename exists.' 
ELSE 
    SELECT 'tablename does not exist.' 

Exists Column

IF NOT EXISTS ( 
   select * from INFORMATION_SCHEMA.COLUMNS
   where TABLE_NAME='PARAMCAL_GENERALES'
   and COLUMN_NAME='PORCEN_COLE_OTROS' 
)  
	-- Añadir un nuevo campo para la financiación del colegio através de la MN
	ALTER TABLE PARAMCAL_GENERALES ADD PORCEN_COLE_OTROS FLOAT DEFAULT 0 
GO

Exists Constraint

Determinar si existe la restricción FK_TIPOS_POLIZAS_SERIES en la tabla TIPOS_POLIZAS
y, en caso de que exista, eliminarla
		IF EXISTS( 
		   SELECT * 
			 FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE 
		   WHERE TABLE_NAME = 'TIPOS_POLIZAS' AND 
				 CONSTRAINT_NAME = 'FK_TIPOS_POLIZAS_SERIES'
		)
		BEGIN
			ALTER TABLE dbo.TIPOS_POLIZAS
				DROP CONSTRAINT FK_TIPOS_POLIZAS_SERIES
			COMMIT
		END

Exists Function

Mira si existe la función SalesByStore en el esquema Sales
Si es así la borra

Ejemplo de libro

IF OBJECT_ID(N'Sales.SalesByStore') IS NOT NULL
    DROP FUNCTION Sales.SalesByStore;

Otros ejemplos programados por mí:

IF OBJECT_ID(N'dbo.GetIdEstadisticas') IS NOT NULL
    DROP FUNCTION dbo.GetIdEstadisticas;
GO

IF OBJECT_ID(N'dbo.GetTipoCod') IS NOT NULL
    DROP FUNCTION dbo.GetTipoCod;
GO

Exists Procedure

Mira si existe el procedimiento usp_GetList en el esquema Production
Si es así lo borra

Ejemplo de libro

IF OBJECT_ID ( 'Production.usp_GetList', 'P' ) IS NOT NULL 
    DROP PROCEDURE Production.usp_GetList;
GO

Otros ejemplos programados por mí

IF OBJECT_ID ( 'dbo.NuevoActoJuridico', 'P' ) IS NOT NULL 
    DROP PROCEDURE dbo.NuevoActoJuridico;
GO

IF OBJECT_ID ( 'dbo.NuevoTipoDocumentoNoPoliza', 'P' ) IS NOT NULL 
    DROP PROCEDURE dbo.NuevoTipoDocumentoNoPoliza;
GO

IF OBJECT_ID ( 'dbo.NuevoTipoDocumentoPoliza', 'P' ) IS NOT NULL 
    DROP PROCEDURE dbo.NuevoTipoDocumentoPoliza;
GO

Exists Trigger

Ver si existe el trigger TR_CARGONOTARIO_FECHA y, si es así, borrarlo.
IF EXISTS (
	SELECT  *  
      FROM  sysobjects
     WHERE  name = 'TR_CARGONOTARIO_FECHA' 
       AND  type = 'TR'
)
    DROP TRIGGER TR_CARGONOTARIO_FECHA
GO