問題タブ [sqlx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL選択クエリでintペアのリストを展開する方法
次のパラメータのリストがあります。
ここで、リストを通過してパラメーターに一致するクエリを作成したいと思います: ( forの後の部分は、 PostgreSQL 9.4で記述したい疑似コードです)
Go でこのクエリを記述する方法 ( jmoiron.github.io/sqlxまたは standardを使用database/sql
)?
oracle - 最後に挿入された ID を取得する (go + oracle)
go-oci8 ( https://github.com/mattn/go-oci8 ) ドライバーで sqlx ( https://github.com/jmoiron/sqlx ) を使用して、go アプリケーションから Oracle データベースに 2 つのレコードを挿入する必要があります。2 番目のレコードは、外部キーによって前のレコードを参照します。そのため、2 番目のレコードを挿入する前に、最初のレコードの主キーが必要です (最初のテーブルの挿入トリガーの前にシーケンスから割り当てられます)。
だから私は最後に挿入されたIDを取得するために実験しました:
LastInsertId が失敗しました:
出力:
次に、レコードを挿入して主キーを返すストアド関数を作成しようとしました。
しかし、その結果を得る方法を見つけることができませんでした。PostgreSQL スタイルの選択が失敗します:
また、OCI8 スタイルの変数バインディングは機能しません。
出力:
最後に挿入された ID を取得する方法、または Go の格納された関数から Oracle から値を取得する方法は?
database - Go言語、sqlx.StructScanで埋め込まれた構造体をスキャン
Go言語の学習を始めたばかりです。以下の簡単なプログラムを書きました。
ここでは、すべての本と関連する著者で構造体を埋めようとしています。
Book
構造体には構造体が埋め込まれていAuthor
ます。
しかし、実行すると、次のエラーが発生します
私は何を間違っていますか?
Book
また、構造体のフィールドタグをに変更しようとしました
クエリを次のように変更します
しかし、それは何の変化ももたらしません。
編集
いくつかの試行錯誤の後、ついに私はそれを機能させました。
作成したモデルを少し変更する必要があります。Book 構造体をから変更しました
に
現在、正常に動作しています。私がやっていた間違いは、Bauther
フィールドを として追加したことAuther
です。Sqlx はそれを理解できませんでした。しかし、Auther
匿名の埋め込み構造体として追加すると、問題は解決しました。
しかし、それは別の問題をもたらします:)
ID フィールドは両方の構造体Book
と同様に存在します。Auther
現在、ScanStruct はBook.ID
すべての行で 0 を埋めています。
それを避けるために私にできることはありますか?