# 空值檢查存儲過程
CREATE PROCEDURE `check_column_null_num`(IN schema_name VARCHAR(100), IN table_name2 VARCHAR(100))
BEGIN
-- 數據表schema_name中的列名稱
DECLARE temp_column VARCHAR(100);
-- 創建結束標誌變量
DECLARE done INT DEFAULT FALSE;
-- 定義遊標來操作每一個COLUMN_NAME
DECLARE cursor_column CURSOR FOR
SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE table_schema = schema_name AND table_name = table_name2;
-- 指定遊標循環結束時的返回值
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 打開遊標
OPEN cursor_column;
read_loop:LOOP
FETCH cursor_column INTO temp_column;
-- 判斷遊標的循環是否結束
IF done THEN
LEAVE read_loop;
END IF;
-- 這裏需要設置具體的SQL語句temp_query
SET @temp_query=CONCAT('SELECT COUNT(*) as ', temp_column, '_null_num FROM ', table_name2, ' WHERE ', temp_column, ' IS NULL');
-- 執行SQL語句
PREPARE stmt FROM @temp_query;
EXECUTE stmt;
END LOOP;
-- 關閉遊標
CLOSE cursor_column;
END
空值檢查的存儲過程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.