2012-02-27 15 views
1

結果をResultテーブルに書き込むストアドプロシージャがあります。ストアドプロシージャ内からテーブルを切り捨てる/消去するにはどうすればよいですか?MySQLストアドプロシージャのテーブルをどのように切り捨てますか?

call peformTest() 

truncate TestResultTable; 

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

注これを読んで誰にも「TRUNCATE」のDECLARE前に呼び出すことはできません。それは私の問題でした – stackoverflow

答えて

2

あなたがテーブルからすべてのデータを削除したい場合は、あなたの構文が正しい:

truncate testResultTable; 

または

truncate table testResultTable; 

特定のニーズに応じて、あなたが取り除くために必要がある場合表が正しく、その後、あなたが行うことができ、それを再作成:

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

これを読んだ人には、DECLAREの前に 'TRUNCATE'を呼び出すことはできません。それが私の問題だった – stackoverflow

1

彼らは実行の方法でストアドプロシージャ対SQLに差があるかどうかわかりません。通常切り捨てるためのフォーマットである:ここでTruncate Table tableName;基準である:単純なストアドプロシージャでhttp://dev.mysql.com/doc/refman/5.0/en/truncate-table.html

0

PL/SQLで= 1


テーブルの他の例から削除します。

PL/SQL SP Truncate


または@Churkによるソリューション。

+0

これは、Oracleソリューションであり、MySQLソリューションではありません。 –

+0

はい、それはいくつかの "哲学"情報を提供することができます。 –

関連する問題