2012-02-27 6 views
1

J'ai une procédure stockée qui écrit les résultats dans une table de résultats. Comment tronquer/effacer une table d'une procédure stockée?MySQL comment tronquer une table dans une procédure stockée?

exemple

call peformTest() 

truncate TestResultTable; 

//do stuff with new data to insert into TestResultTable 
end 
+0

Remarque à tous ceux qui lisent ceci: 'TRUNCATE' ne peut pas être appelé avant DECLARE. C'était mon problème – stackoverflow

Répondre

2

Si vous souhaitez supprimer toutes les données de la table, votre syntaxe est correcte:

truncate testResultTable; 

ou

truncate table testResultTable; 

En fonction de vos besoins spécifiques, si vous avez besoin de se débarrasser de la tableau correctement et ensuite le recréer, vous pouvez faire:

drop table testResultTable; 
create table testResultTable as select ... from ... where ... 
+0

Note à tous ceux qui lisent ceci: 'TRUNCATE' ne peut pas être appelé avant DECLARE. C'était mon problème – stackoverflow

0

Dans la simple procédure stockée:

DELETE FROM table WHERE 1 = 1


Autre exemple dans PL/SQL:

PL/SQL SP Truncate


Ou solution par @Churk.

+0

C'est une solution Oracle, pas une solution MySQL. –

+0

Oui, mais il peut fournir des informations "de philosophie". –

Questions connexes