· 8 years ago · Feb 13, 2018, 12:54 AM
1DELIMITER $$
2DROP PROCEDURE IF EXISTS `displayNullColumns`$$
3CREATE PROCEDURE `displayNullColumns`()
4 BEGIN
5 SET @expression = (
6 SELECT GROUP_CONCAT(CONCAT('SELECT ', s._column, ' AS _value, \'', s._column, '\' AS _column, \'', s._table, '\' AS _table FROM ', s._table, ' WHERE ', s._column, ' = \'null\'')
7 SEPARATOR ' UNION ')
8 FROM (
9 SELECT DISTINCT
10 COLUMN_NAME AS `_column`,
11 TABLE_NAME AS `_table`
12 FROM INFORMATION_SCHEMA.COLUMNS
13 WHERE TABLE_SCHEMA = 'dev_table'
14 AND COLUMN_NAME IS NOT NULL
15 AND TABLE_NAME IS NOT NULL
16 ) AS s
17 );
18
19 IF @expression IS NOT NULL AND @expression != ''
20 THEN
21 PREPARE stmt FROM @expression;
22 EXECUTE stmt;
23 END IF;
24 END$$
25DELIMITER ;
26
27CALL displayNullColumns();