Fusion Tablesによるデータベースの利用 (6/6)
作成:2018-04-29 08:01
更新:2018-04-29 08:01
更新:2018-04-29 08:01
■レコードの操作は「sql」メソッドで!
では、レコードの取得ではなく、レコードの作成や削除といった操作を行う場合はどううするのでしょうか。
この場合は、sqlGetメソッドではなく、「sql」というメソッドを使います。これは以下のように実行します。
では、実際の利用例を挙げておきましょう。下のサンプルは、レコードを追加するaddRow関数と、それを利用してダミーレコードを1つ作るmyFunctionです。myFunctionでは、このようにしてaddRowを呼び出しています。
クエリー文の実行の方法さえわかれば、後はクエリーを書いてどうにでもなりますね!
この場合は、sqlGetメソッドではなく、「sql」というメソッドを使います。これは以下のように実行します。
変数 = FusionTables.Query.sql( クエリー文 );基本的な使い方はsqlGetと何ら変わりはありません。違いは、戻り値です。例えばレコードを追加するinsert文を実行した場合は、戻り値は作成したレコードのID番号になります。Sqlresponseにはなりません。
では、実際の利用例を挙げておきましょう。下のサンプルは、レコードを追加するaddRow関数と、それを利用してダミーレコードを1つ作るmyFunctionです。myFunctionでは、このようにしてaddRowを呼び出しています。
addRow('hoge',99,'北海道札幌',new Date());引数に、Text, Number, Location(住所のテキスト), Dateといったものを渡して呼び出せば、それがレコードとして追加されます。このaddRowでは、以下のようにしてクエリー文を作成しています。
var query = 'insert into ' + tableId + " (Text,Number,Location,Date) values ('" +見ればわかるように、「insert into 〇〇 (Text,Number,Location,Date) values (○○,○○,○○,○○)」というようなSQLのクエリー文になっています。Fusion Tablesでは、SQLの標準的な文はだいていそのまま実行できるようになっているのです。
txt + "'," + num + ",'" + loc + "','" + dt_str + "')";
クエリー文の実行の方法さえわかれば、後はクエリーを書いてどうにでもなりますね!
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function myFunction() { addRow('hoge',99,'北海道札幌',new Date()); } function addRow(txt,num,loc,dt) { var dt_str = dt.getYear() + '-' + (dt.getMonth()+1) + '-' + dt.getDate(); var query = 'insert into ' + tableId + " (Text,Number,Location,Date) values ('" + txt + "'," + num + ",'" + loc + "','" + dt_str + "')"; var res = FusionTables.Query.sql(query); }
※関連コンテンツ
「Google Apps Scriptプログラミング [中級編]」に戻る