怎样删除聊天记录:级联删除表中的记录(不通过级联约束)



--级联删除表中记录
CREATE PROCEDURE proc_delete_data(p_tname varchar(100))
begin
declare v_tablename varchar(50);
declare flag default 0;
--定义个游标,此游标返回指定表子表
declare cur_constra cursor for select b.table_name
from information_schema.key_column_usage a,information_schema.key_column_usage b
where a.table_schema=b.referenced_table_schema
and a.table_name=b.referenced_table_name
and a.column_name=b.referenced_column_name
and a.constra_name=\'PRIMARY\'
and a.table_schema=(select database)
and a.table_name=upper(p_tname);
--定义异常处理
declare continue handler for not found
flag=1;
open cur_constra;
repeat
fetch cur_constra o v_tablename;
flag=0 then
--递归寻找指定表子表
call proc_delete_data(v_tablename);
end ;
until flag=1
end repeat;
close cur_constra;
--动态执行SQL中国自学编程网www.zxbc.cn
@v_sql = concat( \'delete from \', p_tname );
prepare stmt from @v_sql;
execute stmt ;
deallocate prepare stmt;
END;
/
Tags:  如何删除搜索记录 如何删除历史记录 删除qq聊天记录 怎样删除聊天记录

延伸阅读

最新评论

发表评论