Mysql
 sql >> база данни >  >> RDS >> Mysql

процедура в mysql

delimiter //
create procedure delete_data(schemata varchar(25))
Begin
DECLARE  tab_name varchar(64);
DECLARE  done TINYINT DEFAULT 0;

DECLARE table_name_cur  cursor for select table_name from information_schema.TABLES where table_schema=schemata;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;


  OPEN  table_name_cur;
  read_loop: LOOP
    FETCH  table_name_cur INTO tab_name;

    IF done THEN LEAVE read_loop; END IF;
   --     delete from tab_name where  PRS_DATE <  now() - interval 1 month;

set @x =concat('delete from ', tab_name,' where ','PRS_DATE \< ', 'now() - interval 1 month'); 
   select @x;    
    prepare stmt2 from @x;
        execute stmt2;
    deallocate prepare stmt2; 

    END LOOP;
  CLOSE table_name_cur;
END //
delimiter ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проектиране на база данни за разработване на уеб приложение "Quiz" с помощта на PHP и MySQL

  2. SQL инжекция и клаузата LIMIT

  3. Не мога да изтрия MySQL таблица поради ограничения на външния ключ

  4. Ресурсът Mysql временно не е наличен

  5. alter table add ... преди `code`?