UPSERT ステートメント
UPSERT ステートメントは、既存のレコードを更新するか、既存のレコードが識別されない場合は新しいレコードを作成します。
UPSERT 構文
UPSERT 構文はINSERT 構文と同じです。Garoon はVALUES 句で指定された入力を使用して、レコードがすでに存在するかどうかを判断します。レコードが存在しない場合は、レコードの挿入に必要なすべてのカラムが指定される必要があります。テーブル固有の情報については、データモデル を参照してください。
UPSERT INTO <table_name>
( <column_reference> [ , ... ] )
VALUES
( { <expression> | NULL } [ , ... ] )
<expression> ::=
| @ <parameter>
| ?
| <literal>
次の例に示すように、ExecuteNonQuery メソッドを使って、データ操作コマンドを発行し影響を受けた行を取得できます。
C#
String connectionString = "User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;"; int rowsAffected; using (GaroonConnection connection = new GaroonConnection(connectionString)) { GaroonCommand cmd = new GaroonCommand("UPSERT INTO Events (EventMenu) VALUES ('John')", connection); rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = "User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;" Dim rowsAffected As [Integer] Using connection As New GaroonConnection(connectionString) Dim cmd As New GaroonCommand("UPSERT INTO Events (EventMenu) VALUES ('John')", connection) rowsAffected = cmd.ExecuteNonQuery() End Using