2017-02-16 14 views

答えて

1

クラウドスパナは、DML操作をDELETE/INSERT/UPDATEをサポートしていない、しかし、あなたはread-write transactionsを使用して同じ効果を得ることができます。データへのすべての変異は、Mutationオブジェクトを受け入れるトランザクションコミットメソッド(RESTまたはgRPCのいずれか)を経由する必要があります。あなたの例では

、あなたは

    は読み書きトランザクションを開始し、のようなSQL文を実行
  1. ます:SELECT <key> from MyTable where foo="baz"
  2. その後commit取引と"bar"にすべての値を設定するためのupdateプロパティでMutationオブジェクト(あなたが戻ってあなたの選択から得たそれぞれの行に1つずつ)のリストが含まれます。
1

Google Cloud Spanner自体はこれをサポートしていませんが、このJDBCドライバhttps://github.com/olavloite/spanner-jdbcは、サポートされているSQLを解析し、Google Cloud Spannerの読み書きAPIを呼び出してサポートしています。 CloudSpannerPreparedStatementのコードを見て、どのように処理されているかを確認してください。ドライバは、https://github.com/JSQLParser/JSqlParserによって提供されるSQL解析に依存しています。

上記JDBCドライバのバージョン0.16以降では、複数行で動作する完全なDML文がサポートされています。ドライバをSQuirreLやDBVisualizerなどのツールと組み合わせて使用​​すると、ステートメントをCloud Spannerに送信できます。

ここでいくつかの例を見てみましょう:http://www.googlecloudspanner.com/2018/02/data-manipulation-language-with-google.html

関連する問題