1. 程式人生 > 資料庫 >GBase 如何批量清空某資料庫中部分表的資料?

GBase 如何批量清空某資料庫中部分表的資料?

編寫一個儲存過程來實現: dropprocedureifexiststruncate_tables; delimiter// CREATEPROCEDUREtruncate_tables(db_namevarchar(50))// 根據情況可以增加引數 BEGIN DECLAREdoneINTDEFAULT0; DECLAREtnamevarchar(50); DECLAREcur1CURSORFORSELECTtable_namefromINFORMATION_SCHEMA.TABLESWHERE table_schema=db_name;// 根據情況修改條件 DECLARECONTINUEHANDLERFORSQLSTATE'02000'SETdone=1; OPENcur1; REPEAT FETCHcur1INTOtname; IFNOTdoneTHEN set@str=concat('truncatetable',tname); preparestmt1from@str; executestmt1; deallocatepreparestmt1; ENDIF; UNTILdoneENDREPEAT; CLOSEcur1; END//