が可能な重複は:
procedure in mysqlは私のデータベース内のすべてのテーブルから30日以上経過した日付列から行を削除するストアドプロシージャを作成
は、いくつかのいずれかが私に IAMを助けてくださいすることができますmysqlの新機能 mysqlのデータベース内のすべてのテーブルから30日以上経過した日付列から行を削除するストアドプロシージャの作成
が可能な重複は:
procedure in mysqlは私のデータベース内のすべてのテーブルから30日以上経過した日付列から行を削除するストアドプロシージャを作成
は、いくつかのいずれかが私に IAMを助けてくださいすることができますmysqlの新機能 mysqlのデータベース内のすべてのテーブルから30日以上経過した日付列から行を削除するストアドプロシージャの作成
あなたはこのような何かを行うことができます。
DELETE FROM MyTable
WHERE MyTable.MyDate < SUBDATE(@NOW, 30)
区切り文字// が手続きDELETE_DATA(スキーマのVARCHAR(25)) DECLAREのTAB_NAMEのはvarchar(64)の開始を作成します。 DECLARE done TINYINT DEFAULT 0;
DECLARE table_name_cur select table_nameのカーソルfrom information_schema.TABLES where table_schema = schemata;
DECLARE CONTINUE HANDLER 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;
- TAB_NAMEから削除どこ今PRS_DATE <() - インターバル1ヵ月。
@x = concat( 'delete from'、tab_name、 'where'、 'PRS_DATE \ <'、 'now() - interval 1 month'); を選択してください。
@xからstmt2を準備します。 はstmt2を実行します。 割り当てを解除するstmt2;
END LOOP;
CLOSE table_name_cur; END // 区切り文字。
ここでは1つのテーブルからしか削除できませんが、私は自分のデータベース内のすべてのテーブルに対してこのプロセスを実行する必要があります。このテーブルでは、カラム名はprs_dateです – dev