版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lwl2014100338/article/details/83411149
需求:存在删除索引并且创建索引
存储过程
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
str VARCHAR (250);
SET @str = concat(
' ALTER TABLE ',
p_tablename,
' ADD INDEX ',
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 @str;
EXECUTE stmt;
END
IF;
END;
//
delimiter ;
调用存储过程创建索引
/* 为monitorsys的Bond_Org_Manage_Pro表创建索引idx_mid
*
* */
CALL add_Index (
'monitorsys',
'Bond_Org_Manage_Pro',
'idx_mid',
'idx_mid(manageorgid)'
);