問題タブ [cursors]

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 投票する
0 に答える
61 参照

sql - カーソルでストアド プロシージャを使用できますか?

多くの場合、カーソルは次のような SQL コードを使用して作成されます。

DECLARE MyCursor CURSOR FOR SELECT SIN(A),COS(A) FROM FGR_db_Database..tb_Angles WHERE A BETWEEN 0 AND 360`

コードがプロシージャとして既に存在する場合、またはより複雑なコードである可能性が高い場合、代わりにプロシージャを使用できますか? 例えば:

DECLARE MyCursor CURSOR FOR EXEC sp_PR_ProcedureName @l_Angle

私は試してみましたが、これまでのところ失敗しており、それが可能かどうかはわかりませんでした.

前もって感謝します!

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

oracle - クエリの書き換え

全体的なタスク :- システム A の 45 フィールドからデータを取得し、そのデータを一時テーブルにダンプする必要があります。このデータは、システム B にインポートする xml データ ファイルを生成する UNIX プロセスによって取得されます。

具体的な質問: 45 個のフィールドに書き込まれるデータを取得する最善の方法は何ですか? データの大部分は独立しており、単一のステートメントを使用して取得することはできません。現在、このデータを取得する方法は次のとおりです(以下の例)

私の一時テーブルには、データを抽出する必要がある影響を受けるプロパティ ID が保持されています。つまり、PROP_LIST_TEMP と ASSOC_PROP_TEMP です。

0 投票する
3 に答える
212 参照

sql - SQL Server カーソル ループの代替

従業員の勤務時間のログ データがあります。ここで、従業員が連続した勤務日 (土/日の週末) に同じタスクに対して同じ時間を記録したすべてのレコードにフラグを付ける必要があります。

次の例で私の問題を説明しましょう

EMP_HOUR_LOGと言う従業員の時間ログテーブルがあります:

上記のサンプル データセットでは、行番号 1、2、3、10、および 11 の FLAG を 1 に更新する必要があります。これらのレコードは、同じ従業員が連続した日に同じタスクに入力した時間が同じエントリであるためです。

レコードごとにデータをループする以外に考えられなかったため、カーソルを使用してこれを既に実装しています。

一般的にカーソルループまたはループを回避することにより、同じことを実装するためのより良い方法を誰かが提案できるかどうかを教えてください。

ありがとう

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

oracle - Oracle SQL Developer PL/SQLは配列を返します

開発者、

できる限り検索しましたが、この単純な問題の解決策が見つかりませんでした。

状況:

入力として列名を取り、その列に存在するすべての個別の値を出力として返すプロシージャを作成する必要があります。そして、いくつかの C# コードでこの手順を使用する必要があります。

MS サーバーでは、PL/SQL とは異なり、一連の結果を直接提供するため、非常に簡単です。

私が書くことができるスクリプト(必要な結果が得られません):

;

このコードを使用してレコードセット内のデータをチェックしようとすると:

誰かがこのコードを手伝ってくれませんか。

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

python - ndb クエリからカーソルを取得できません

カーソルを使用してデータストアにクエリを実行する必要があります (タスクが 10 分以内に終了しない可能性があるため、カーソルが必要です)。これまでのところ、fetch_page または Query.iter() を使用して有効なカーソルを取得できませんでした。どちらの場合も、生成されたカーソルを使用すると、

BadRequestError: カーソル位置が元のクエリの範囲外です

ここにクエリがあります

オンライン ドキュメントで説明されているように、ndb.OR でフィルタリングし、モデルのキーでクエリを並べ替えていることに注意してください。

クエリを実行するコードは非常に簡単です

最初のループは問題なく動作します (カーソルは None です)。2 番目のループ (カーソルが初期化される) で、エラーが発生します。私もイテレータでこれをやろうとしました:

同じ動作が見られます。現在、ndb.OR を 2 つの個別のクエリに分割する作業を行っています。それでも、ndb API を誤用しているのか、それとも別のものなのか疑問に思っています。

-- 更新 -- これがエラーのトレースです

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

mysql - Mysql カーソルの代替 / 最適化 - 各行の更新が遅すぎる

カーソルベースの更新を最適化するか、実際に置き換えることを検討しています...

状況

プロモーション キャンペーンを実施しており、キャンペーンごとのユーザー アクティビティを追跡したいと考えています。

論理

各キャンペーンは特定のバッチにプッシュされます - 当社の顧客ベースのセグメント

tracking_start_date はキャンペーンの日付で、tracking_end_date は追跡を終了する日付です。

各キャンペーンには独自の「Call to Action (cta)」があります。これは、私たちが推進しているトランザクション タイプであり、キャンペーン後に顧客が使用を開始することを望んでいます。

デフォルトでは、セグメント テーブルの tracking_end_date は月末に設定されていますが、このフィールドを確認して更新する手順を作成しました。(Campaign_id はキャンペーンの日付に従って順次発行されるため、最初のキャンペーンが最も小さい Campaign_id 値を持ち、その逆も同様です) 追跡は、カレンダーの月ごとに行われます。

シナリオの更新

セグメント テーブルの各レコードについて、同じ customer_id が将来のキャンペーンに表示されるかどうか、および tracking_start_date が大きいキャンペーンの CTA が同じかどうかを確認します。

TRUE の場合: そのレコードの tracking_end_date を新しいキャンペーンの前日に変更します。

FALSE の場合: tracking_start_date 月の最終日を tracking_end_date として保持します。

更新が行われない場合、複数のキャンペーンに登場し、同じ CTA を持つ顧客のトランザクションを 2 倍または 3 倍にカウントすることになります。

以下は私が現在使用している手順ですが、問題は遅すぎることです。

これらのプロシージャは、その月の Campaign_id をループ処理する別のプロシージャに格納されており、関連する Campaign_id を提供しながらこのプロシージャを呼び出します。

PS: 手順を開始する前に、segments_temp という別のテーブルにセグメント テーブルのコピーを作成し、そこから比較を行います (これは、MySQL が自己参照クエリから更新を実行できないためです)。

私が明確であることを願っています & あなたのアイデアを前もって感謝します

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

sublimetext3 - Sublime Text 3 スニペットに複数のカーソルを自動的に配置するにはどうすればよいですか?

Sublime Text 3 のコンソール ログ スニペットがあります。

このスニペットのキーを呼び出すときに、カーソルが $1 と $2 の両方の場所にあるように、複数のカーソルが必要です。変数名と変数値をコンソール。どうすればこれを管理できますか?