sql >> Database >  >> RDS >> Mysql

Voorgestelde manier om meerdere sql-instructies in python uit te voeren?

Ik zou een opgeslagen procedure maken:

DROP PROCEDURE IF EXISTS CopyTable;
DELIMITER $$
CREATE PROCEDURE CopyTable(IN _mytable VARCHAR(64), _table_name VARCHAR(64))
BEGIN
    SET FOREIGN_KEY_CHECKS=0;
    SET @stmt = CONCAT('DROP TABLE IF EXISTS ',_table_name);
    PREPARE stmt1 FROM @stmt;
    EXECUTE stmt1;
    SET FOREIGN_KEY_CHECKS=1;
    SET @stmt = CONCAT('CREATE TABLE ',_table_name,' as select * from ', _mytable);
    PREPARE stmt1 FROM @stmt;
    EXECUTE stmt1;
    DEALLOCATE PREPARE stmt1;
END$$
DELIMITER ;

en ren dan gewoon:

args = ['mytable', 'table_name']
cursor.callproc('CopyTable', args)

om het eenvoudig en modulair te houden. Natuurlijk moet je een soort van foutcontrole uitvoeren en je zou zelfs de winkelprocedure een code kunnen laten retourneren om succes of mislukking aan te geven.



  1. Aangepaste zoekopdracht Paginering Cakephp

  2. Zet naamloze externe sleutel neer in MySql

  3. Bij dubbele sleutel alleen Null- of lege waarden bijwerken

  4. Is er een generieke oplossing om een ​​afgeleide kolomlijst in Oracle (en MySQL) uit te drukken?