2009-04-28 7 views
2

ASP.Netで同じ削除ステートメントを使用して2つのテーブルから同時に削除する方法はありますか。複数のテーブルからの削除ASP.NET

+0

データベース? –

+0

これはMySQLデータベースです。私はコードを試しましたが、私は運がありませんでした。私はこのすべてにとても新しいです。ありがとう – xtrabits

答えて

0

データベースがMsSqlの場合、1つのSqlCommandに複数のdelete文を組み合わせることができます。これは、1回のパスでTABLE1とtable2の両方からすべてのレコードを削除します

string deleteQuery = "DELETE FROM Table1; DELETE FROM Table2;"; 
using (SqlConnection connection = new SqlConnection(connectionstring)) 
using (SqlCommand deleteCommand = new SqlCommand(deleteQuery, connection)) 
{ 
    connection.Open(); 
    deleteCommand.ExecuteNonQuery(); 
} 

はこれを試してみてください。

+0

私はあなたがvb.netで質問にタグを付けるのを見ます。うまくいけば、C#から私の例を翻訳することができます... –

1

私はあなたが何を意味するかわからないんだけど、あなたは別のテーブルのデータを使用して、テーブルから削除したい場合は、これは次のスニペット(SQL Serverの)使用して行うことができます:あなたの場合は

DELETE x 
FROM TableX x INNER JOIN TableY y 
    ON x.SomeID = y.SomeID 
WHERE ... 

をまた、ストアドプロシージャを使用することができます

DELETE TableX WHERE SomeID = ...; DELETE TableY WHERE SomeID = ... 

:1つのコマンドに2つのDELETE文を実行したい、あなたはどちらかだけセミコロンで区切るそれらを連結でき

CREATE PROCEDURE DeleteTwoTables 
    @ParamX int, 
    @ParamY int 
AS 
    DELETE TableX WHERE SomeID = @ParamX 
    DELETE TableY WHERE SomeID = @ParamY 
3

だけ削除連結SQLスクリプト:

Using connection As New SqlConnection(connectionString) 
    Dim command As New 
     SqlCommand("DELETE FROM Table1 WHERE [email protected]; DELETE FROM Table2 WHERE [email protected];", connection) 

    command.Parameters.Add("@ID1", 1); 
    command.Parameters.Add("@ID2", 2); 

    command.Connection.Open() 
    command.ExecuteNonQuery() 
End Using 
関連する問題