質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1101閲覧

【GoogleAppsScript】jdbc接続 update・create後のシーケンス値取得について

okumura_momiji

総合スコア12

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/06/03 08:29

編集2019/06/04 00:30

前提・実現したいこと

GoogleAppsScript(GAS) を使用し、 jdbc で Amazon RDS接続しております。
update後もしくはinsert後のシーケンス値(自動採番しているプリマリーキー)を取得したいのですが、わかりません。

下記のドキュメントをもとに Jdbc.Statement.RETURN_GENERATED_KEYS を使用してみているのですが、詳しくわからず。。

https://developers.google.com/apps-script/reference/jdbc/jdbc-prepared-statement

ドキュメント以外の使用例があれば、わかりやすいです。
よろしくおねがいします。

試したこと

Google

1var query = 'UPDATE test SET col_1=?, col_2=?, col_3=?, col_4=?, col_5=?, col_6=?, col_7=?, col_8=?, col_9=?, col_10=?, col_11=?, col_12=?, col_13=?, col_14=?, col_15=?, col_16=? WHERE col_7=?'; 2var statement = conn.prepareStatement(query, Jdbc.Statement.RETURN_GENERATED_KEYS); 3... 4var result = statement.getGeneratedKeys(); 5Logger.log(result.next()); // false

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2019/06/03 09:58

ドキュメントにはその位置の引数は数字だと言われているので、1を指定してはどうでしょうか? また、動かして検証するために最低でもstatementを書いていただかないと、idを触らないsqlだとfalseでも当然という可能性もあります。
okumura_momiji

2019/06/04 00:32 編集

すみません、queryを更新させていただきました。 query で id触っておりませんね。。 どのように書くとidを触った書き方ができるのでしょうか? 恐れ入りますが、ご確認のほど、よろしくおねがいします。
papinianus

2019/06/04 10:18

updateなんですね。どこかのカラムが自動生成されるカラムなんですよね。第2引数にカラムを指定すれば良いと思います
okumura_momiji

2019/06/05 06:24 編集

Insertにつきましては、取り急ぎ解決しました。 ありがとうございます。 Updateは引き続き調査したいと思います。
guest

回答1

0

自己解決

Insertにつきましては、下記で解決しました。

GoogleAppsScript

1var conn = Jdbc.getConnection(dbUrl, user, userPwd); 2var query = 'INSERT INTO test_table (col_1, col_2, col_3, col_4, col_5, col_6, col_7, col_8, col_9, col_10, col_11, col_12, col_13, col_14, col_15, col_16) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'; 3var stmt = conn.prepareStatement(query, Jdbc.Statement.RETURN_GENERATED_KEYS); 4var rs = stmt.getGeneratedKeys();

投稿2019/06/05 06:24

okumura_momiji

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問