--
-- Procedure Of Delete Index
--
DROP PROCEDURE IF EXISTS DEL_IDX;
CREATE PROCEDURE DEL_IDX(IN P_TABLE_NAME varchar(200), IN P_IDX_NAME VARCHAR(200))
BEGIN
DECLARE ST VARCHAR(250);
SET @ST=CONCAT(' DROP INDEX ', P_IDX_NAME, ' ON ', P_TABLE_NAME);
SELECT count(*) INTO @CNT FROM information_schema.statistics WHERE table_name=P_TABLE_NAME and index_name=P_IDX_NAME;
IF @CNT >0 THEN
PREPARE stmt FROM @ST;
EXECUTE stmt;
END IF;
END;
CALL DEL_IDX('T_NAME, 'IDX_NAME');
DROP PROCEDURE IF EXISTS DEL_IDX;
--
-- Procedure Of Delete FK
--
DROP PROCEDURE IF EXISTS DEL_FK;
CREATE PROCEDURE DEL_FK(IN P_TABLE_NAME varchar(200), IN F_K_NAME VARCHAR(200))
BEGIN
DECLARE ST VARCHAR(250);
SET @ST=CONCAT(' ALTER TABLE ', P_TABLE_NAME, ' DROP FOREIGN KEY ', F_K_NAME);
SELECT COUNT(*) INTO @CNT FROM information_schema.key_column_usage WHERE table_name=P_TABLE_NAME and constraint_name=F_K_NAME;
IF @CNT >0 THEN
PREPARE stmt FROM @ST;
EXECUTE stmt;
END IF;
END;
CALL DEL_FK('T_NAM, 'FK_NAME);
DROP PROCEDURE IF EXISTS DEL_FK;