問題タブ [embedded-sql]

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.

0 投票する
2 に答える
4213 参照

oracle - Oracle データベースから ESQL (内部プロシージャー) でプロシージャーを実装する方法

テーブルに Customer を挿入するストア プロシージャを Oracle db に作成します。

これは私のコードです:

今、私はこの手順を ESQL で使用し、ESQL で直接作成し、Oracle データベースや他の DB から呼び出すのではなく、

それについて教えてください...

0 投票する
1 に答える
184 参照

sql - PL/pgSQL トリガー関数でのホスト変数の使用

Embedded SQL/C プログラムでホスト変数に値を選択できる PL/pgSQL でトリガー関数を作成する方法を見つけようとしています。私はSQLを初めて使用するので、用語が少しずれていたら申し訳ありません。基本的に、テーブルを変更すると、ホスト変数に格納されている値を更新するために関数がビューをトリガーする必要があります。

これは私が作成し、動作するようにテストしたビューです:

これは、ホスト変数 dbID と dbNum を使用してビューを呼び出す方法です。

作成したトリガーは次のとおりです。

そして、ここに私が使いたいトリガー関数があります:

テスト目的で、pgAdmin III を使用しています。ホスト変数を使用しないアクション (事前定義された行の値の更新など) を実行するように関数を変更すると、それが作成されていることがわかります。ただし、ホスト変数を使用してトリガーまたはトリガー関数を作成することはできません。

現在、私はこれを一般的に達成する方法を理解しようとしているので、現在のコードが実際にはあまり機能しないことを認識しています。一般的な考え方は、トリガー関数で C のホスト変数を使用する定義済みのビューを呼び出すことです。トリガーを実装するより良い方法があれば、そのアドバイスも大歓迎です。

0 投票する
1 に答える
304 参照

sql - Embedded SQL と libpq の機能を組み合わせる

PostgreSQL データベースの変数を定期的にホスト変数にポーリングし、データベースからの通知をリッスンするプログラムを C で作成しました。1. Embedded SQL (ECPG) を使用してデータベースからの通知をリッスンするか、2. libpq コマンド PQexec から INTO ホスト変数を選択して解析し続けることなく、1 つのステップで選択できるソリューションがあるかどうか疑問に思っています。つまり、SELECT INTO (複数のホスト変数) と同じ機能を持ちます。

現在、2 つの接続をセットアップする必要があります。1 つは SELECT INTO 機能用の EXEC SQL 経由で、もう 1 つは接続ポインタを作成するために libpq 経由です。接続ポインタは後で PQnotify が通知をリッスンするために使用されます。プログラムは現在動作していますが、同じデータベースへの両方の接続を設定する必要があるのは冗長に思えます。

0 投票する
0 に答える
183 参照

sql - 挿入後に ESQL が新しい ID を返す

ESQL を使用して SQL 挿入後に生成された新しい ID を取得しようとしています。適切な構文または 2 つの UUID 関数の使用方法を理解するのに問題があり、少し支援が必要です。

0 投票する
2 に答える
5124 参照

c - Oracle Pro*C -- ネストされたループでのカーソルの使用

私は独学で Pro*C を学んでおり、(おそらく) カーソルを使用してデータベース内のレコードを処理し、コンパイルして実行するプログラムを持っています。問題は、変数が印刷されたときにメモリにあったジャンクを取得していることです(カーソルを使用して読み込まれたもの)。

SQL execステートメントをいくつかの異なる方法で分割しようとしましたが、これは役に立ちませんでした。また、さまざまな場所でSQLを開いたり閉じたりしようとしましたが、これも役に立ちませんでした。私は本当に長いデバッグ プロセスの最後にいます。この時点で、私は非常に初心者の間違いを犯していると確信しています。ここにいる Oracle プログラマーの中で少し時間を割いても構わないという人がいれば、ここで軌道に戻る方法について少しフィードバックをいただければ幸いです。

印刷するはずです:

それは実際に印刷します:

カーソルを完全に台無しにしているように感じますが、Pro*C での変数の宣言方法と使用方法にまだ慣れていないため、問題がどこにあるかを正確に特定することはできません。また、C プログラムは通常デバッグされますが、これはリモート サーバー上で実行され、デバッグは非常に制限されており、dbx コマンドさえありません。

コード:

通常、C プログラムはデバッガーで実行されますが、これは Pro C であり、Oracle Pro C のデバッグ全体に戸惑っています (リモート データベースで実行されているため)。

これらを試しましたが、役に立ちませんでした:

Oracle のネストされたカーソルでの奇妙な動作

Oracle ProC INSERT INTO VALUES ( (select ...) )

Oracle Pro*C でカーソルを使用してテーブルを更新できませんでした

VARCHAR 変数は別の方法で宣言する必要があると言われましたが、他の方法ではエラーがスローされるようです。