DELIMITER $$DROP PROCEDURE IF EXISTS `paltform`.`pt_init` $$CREATE PROCEDURE `platform`.`pt_init` ()BEGIN/* Clear the table TablesRemark which the table has being delete from sys tables */DELETE FROM tablesremark WHERE tablename NOT IN ( SELECT t.table_name AS tablename FROM information_schema.tables t WHERE t.table_schema = 'paltform');/* Check the sys tables,add the tables which does exist in the sys tables but does not exist in the table TablesRemark */INSERT INTO tablesremark(tablename) SELECT LCASE(t.table_name) AS tablename FROM information_schema.tables t WHERE t.table_schema = 'platform' AND t.table_name NOT IN (SELECT tablename FROM tablesremark);/* Clear the table ColsRemark which the table_column has being delete from the sys tables,columns */CREATE TEMPORARY TABLE temp SELECT CONCAT(CONCAT(LCASE(t.table_name) ,'_'), LCASE(c.column_name)) AS tablecolname FROM information_schema.tables t INNER JOIN information_schema.columns c ON t.table_name = c.table_name WHERE t.table_schema = 'platform';DELETE FROM colsremark WHERE id not IN (SELECT tablecolname FROM temp);DROP TABLE temp;/* Add the table_column data into the table ColsRemark which does exist in the sys tables,columns but does not exist in the table ColsRemark */INSERT INTO ColsRemark (id , tablename, colname, colorder, addtime) SELECT CONCAT(CONCAT(LCASE(t.table_name) ,'_'), LCASE(c.column_name)) AS id, LCASE(t.table_name) AS tablename, LCASE(c.column_name) AS colname, c.ordinal_position AS colorder, now() AS addtime FROM information_schema.tables t INNER JOIN information_schema.columns c ON t.table_name = c.table_name WHERE t.table_schema = 'platform' AND ( NOT EXISTS (SELECT id FROM colsremark col WHERE col.tablename = t.table_name and col.colname = c.column_name ) );/* Update the table TablesRemark's column colchanged if the col has be changed in the table ColsRemark */UPDATE tablesremark SET colchanged = 1 WHERE tablename IN (SELECT tablename FROM colsremark WHERE colchanged=1);/* Update the table ColsRemark's column colorder so that the order can as the same as the sys columns optimized sql */UPDATE colsremark,( SELECT c.column_name,t.table_name,c.ordinal_position FROM information_schema.columns c,information_schema.tables t WHERE c.table_name=t.table_name) temp SET colsremark.colorder=temp.ordinal_position WHERE temp.column_name=colsremark.colname;/* not optimized sqlUPDATE colsremark SET colorder = (SELECT c.ordinal_position FROM information_schema.columns c INNER JOIN information_schema.tables t ON c.table_name=t.table_name WHERE c.column_name=colsremark.colname AND t.table_name=colsremark.tablename);*/UPDATE colsremark SET categoryid = '{612F4576-4BF6-424A-BB92-04E836CAB4FF}' WHERE colname IN ('adder' , 'moder');UPDATE colsremark SET categoryid = '{0ECC56D4-9F55-4633-8A41-172CB220ABF9}' WHERE colname IN ('delstatus');UPDATE colsremark SET categoryid = '{57460F9A-7F41-4733-84F5-AB1DDEAFBB0F}' WHERE colname IN ('rdeptid');END $$DELIMITER ;