DROP PROCEDURE IF EXISTS add_Index;
DELIMITER //
CREATE PROCEDURE add_Index (IN p_dbname VARCHAR (200),IN p_tablename VARCHAR (200),IN p_idxname VARCHAR (200),IN p_index VARCHAR (200))
BEGIN
DECLARE addstr VARCHAR (250);
SET @addstr = CONCAT(' CREATE INDEX ', p_idxname,' ON ',p_tablename,p_index);
SELECT COUNT(*) INTO @cnt
FROM information_schema.statistics
WHERE TABLE_SCHEMA = p_dbname
AND table_name = p_tablename
AND index_name = p_idxname;
IF @cnt <=0 THEN
PREPARE stmt FROM @addstr;
EXECUTE stmt;
END IF;
END;
//
DELIMITER;
/*
* 传递参数并且执行,参数必须包括在''中
* */
CALL add_Index (
'bigdata-web',
'dsc_personnel_account',
'dsc_personnel_account_account_id_IDX',
'(account_id)'
);