問題タブ [stored-functions]

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 に答える
2774 参照

oracle - Oracle関数を呼び出して、ODP.NETとデータセットを使用してデータを挿入するにはどうすればよいですか?(具体例)

ODP.NET 2 Day +開発者ガイドを読んでも役に立たなかったので、私たちはこれに本当に迷っています。関数定義(パッケージに格納されている)を提供しましたが、データセットを何にキャストする必要があるのか​​、関数を何に渡すのかがわかりません。関数の定義は次のとおりです。

これが私たちが行ったことです(これは何もしません):

私はこれが非常に具体的な質問であることを知っていますが、私は本当に迷っています。Oracle関数insが機能すると仮定しましょう(機能します)。この場合、ODP.NETを使用して正しく呼び出す方法がわかりません。

助けてくれてありがとう。

編集:ここにエラーメッセージがあります:

ORA-06550:行1、列15:PLS-00306:'INS'の呼び出しで引数の数またはタイプが正しくありませんORA-06550:行1、列7:PL / SQL:文が無視されました

よろしく、フグ

0 投票する
4 に答える
351 参照

sql - 私のやり方のエラーを見るのに苦労しています(mysql関数)

(解決策については、以下の私の回答を参照してください-フィードバックに感謝します)

それはおそらく本当に明白なことですが、私のSQLの何が問題になっているのかわかりません。

次のように動作するので、さらにいらいらします。

(NBさまざまなレベルで日付を切り捨てる他の方法があるかもしれません-そして私は確かにそれらについて聞くことに興味があります、私は本当に私の構文の何が悪いのか知りたいです-期間の始まりを計算するための別の方法ではありません) 。

はい、second()は有効な関数であり、SECONDは有効な間隔です。

TIA

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

entity-framework - Entity Framework 関数/ストアド プロシージャの更新

関数の基になる storedproc を変更して複合型を更新すると、モデル全体も更新する必要がありますか?

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

c# - LinqToSQLの簡単な手順

私のアプリはクライアントサーバーセットアップであり、クライアントはサーバーに特定のリージョンのオブジェクトを要求します。サーバーのx座標とy座標、および半径を送信します。次に、サーバーは、指定された領域内のオブジェクトについてSQLServerデータベースにクエリを実行する必要があります。データベースでは、オブジェクトはx座標とy座標で保存されます。

最初に、WCFを介してサーバーに渡されるオブジェクトのcontainsメソッドを試しました。Regionもちろん、メソッドをT-SQLに変換できなかったため、機能しませんでした。しかし、linqクエリで単純なラムダ式が使用されているのを見たので、これを試しました。

残念ながら、これも機能しませんでした。Linqto SQLクエリでいくつかの関数が許可されていることを読みましたが、数学関数はその中に含まれていないと思いますか?このためにストアド関数が必要ですか?ストアド関数はどのようになりますか(T-SQLで記述したことはありません)?C#オブジェクトを関数に渡し、dbサーバーに渡すためにすべての値を抽出することを回避できますか?つまり、格納された関数をlinq-to-sqlクラスデザイナに追加するときに、オブジェクトを受け入れてその時点で値を抽出できるようにすることはできますか?

すべてのオブジェクトを取得してC#でフィルタリングするオプションではないことに注意してください。

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

c# - linq-to-sql 関数シグネチャのラッピング

次のようなストアド関数があります。

5 つの float パラメーターが必要ですが、実際には、C# プロジェクトにこれらの値を表すオブジェクトがあります。

Visual Studio を開き、格納された関数を DBML デザイナーにドラッグすると、これらのdoubleパラメーターをすべて備えた魔法の関数シグネチャが得られます。DBML を更新しても壊れないラッパーを作成する方法はありますか? 2 つの型指定された引数を受け取り、それらのオブジェクトから関連する値を抽出してストアド プロシージャに送信する関数を作成したいと考えていますが、linq クエリからそのラッパー関数を呼び出すことは引き続き許可されています。VSはこれをサポートしていますか?

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

postgresql - PL / Python PostgreSQLルーチンでバイナリ文字列(bytea)を返すにはどうすればよいですか?

私は現在、いくつかのデータの変換を実行し、結果をとして返すためにPL/Pythonでプロシージャを作成しようとしていますbytea。(実際にはかなり醜いです:OCamlでデータをマーシャリングします!PythonとOCamlで同時に醜いです;メダルを取得する必要がありますか?)

外観は次のとおりです。

つまり、小さなOCamlプログラムを一時ファイルに書き込み、必要なデータを使用して別の一時ファイルを作成します。次に、その一時ファイルを読み込み、両方を破棄して、結果を返します。

それだけではうまくいきません:

それぞれに4バイトあります(約130バイトあるはずです)。ファイルのリンクを解除するのをやめると、その理由が明らかになります。非NULバイトが4つあり、その後に2つのNULが続きます。これらのNULは、PythonからPostgresへの変換によって、ある段階でターミネータとして扱われるようです。

なぜこれが起こるのか、それを止める方法を誰かが知っていますか?ドキュメントは啓発的ではありません。

ありがとう!

編集:私は同じ問題を抱えている他の誰かを見つけましたが、解決策はかなり不十分です。

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

mysql - MySqlプロシージャでエラーをスローする方法は?

MySQLにストアドプロシージャ内でエラーをスローさせるメカニズムは何ですか?

別の関数を呼び出すプロシージャがあります。

ジョブコマンドは次のとおりです。

それから:

私の仕事。exec常に成功しています。エラーを発生させる方法はありますか?raise_mysql_error関数を実装する方法は??

ところで、私はMySQL5.5.8を使用しています

アーマンに感謝します。

0 投票する
8 に答える
45192 参照

mysql - CREATE FUNCTION エラー「この関数には DETERMINISTIC、NO SQL、または READS SQL DATA がありません」

当社のデータベースには、注文番号を生成する機能があります。設定テーブルから値を読み取り、インクリメントしてから、新しい値を返します。例えば:

注: この関数を批判しないでください。説明のためだけに欠陥があることはわかっています。

この関数を次のように使用します。

バイナリ ログが有効になっている場合、CREATE FUNCTION で次のエラーが発生します。

この関数の宣言には、DETERMINISTIC、NO SQL、または READS SQL DATA が含まれておらず、バイナリ ログが有効になっています (安全性の低い log_bin_trust_function_creators 変数を使用することをお勧めします)。

binlog_format がどのように設定されているかに関係なく、上記の機能に本当に問題がありますか? 関連するMySQL ページを読んだところによると、この関数が ROW または STATEMENT レベルのバイナリ ロギングのレプリケーションと互換性がない理由がわかりません。

関数が安全な場合、グローバル log_bin_trust_function_creators=1 を設定すると不安になります。このチェックをすべての機能で無効にするのではなく、この機能だけを無効にします。代わりに、警告を抑制するために関数に NO SQL のフラグを立てることはできますか? 私はそれを試してみましたが、うまくいきました。これは何か問題を引き起こしますか?

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

mysql - MySQL geom オフセット テスト

移動オブジェクトが空間内の他の可動および固定オブジェクトに触れることをテストするためのオフセット関数を作成しようとしています。
これをテストするには、それらの境界四角形が交差するかどうかを確認する必要があります。

2 つの可動オブジェクトが次のように接触しているかどうかをテストしたいと思います: Table car
- id: integer (autoinc primary)
- rect: Linestring
- ...

テーブルの場所
- id: 整数 (autoinc プライマリ)
- car_id: 整数
- car_date: 日付
- car_pos: ポイント
- ...

FUNCTION MyDB.OffsetRect(pLineString GEOMETRY, pOffset POINT) RETURNS geometry BEGIN
declare Result LineString;
declare P1 Point;
declare P2 point;
declare P3 point;
declare P4 point;
set Result = ENVELOPE(pLineString); /Make sure we are dealing with a rect/
set P1 = POINTN(Result,1);
set p1 = Point(X(p1)+X(pOffset),Y(p1)+Y(pOffset));
set P2 = POINTN(Result,2);
set p2 = Point(X(p2)+X(pOffset),Y(p2)+Y(pOffset));
set P3 = POINTN(Result,3);
set p3 = Point(X(p3)+X(pOffset),Y(p3)+Y(pOffset));
set P4 = POINTN(Result,4);
set p4 = Point(X(p4)+X(pOffset),Y(p4)+Y(pOffset));
set Result = LineString(p1,p2,p3,p4);
RETURN Result;
END

しかし、2 台の車が時間内に交差するかどうかを確認するために使用するクエリに行き詰まっています。何かのようなもの。

しかし、これは機能しません。何が問題なのですか?

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

php - MySQLi を使用して PHP から MySQL ストアド関数を呼び出す際の致命的なエラー

サーバーの詳細:
PHP v5.3.5
MySQLi ライブラリを使用 クライアント API バージョン: mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
MySQL サーバー v5.5.9

MySQL に f_get_owner_locations( _in int ) というストアド関数があります。特定の所有者が所有するコンドミニアムの場所を保持するテキスト変数を作成します。私が実行した場合

MySQL コマンド ラインから、本来の処理を実行し、1 行を返します。

ただし、MySQLi ライブラリを使用して PHP で実行しようとすると、次のようになります。

次のエラーが表示されます。

その行はこれを参照しています:

SQL ステートメントに関数呼び出しが含まれていない場合は失敗しないことに注意してください。つまり、これは機能します:

しかし、彼らが所有するコンドミニアムを取得する必要性を追加するとすぐに (このステートメントは MySQL コマンドラインでも機能します):

非オブジェクトでのメンバー関数の呼び出しに関するエラーが発生します。

私は困惑しています。while ループの直前に $result で var_dump を実行すると、_bindResults メソッドで 1 つの適切なダンプが得られ、その後停止し、そのエラーが発生します。

注: f_get_owner_locations への呼び出しは、その選択リストの 2 番目のフィールドであるため、正しい数のフィールドにループする必要があると言っているにもかかわらず、正しいフィールド数を格納していません。

この小さな障害を回避するための提案、またはこれが MySQLi ライブラリ内のバグであるか、バインディング コードの問題であるという確認をいただければ幸いです。

更新: 次のコード:

この出力が得られました:

これは私よりも PHP/MySQLi 側の単なる失敗なのだろうか?

更新 2:
要求に応じて、関数の作成に使用されるコード:

少しきれいになるかもしれない少しのリファクタリングで認められましたが、それは私が使用したものです。