問題タブ [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.
oracle - DETERMINISTIC に似た PL/SQL プラグマはありますか?ただし、単一の SQL SELECT のスコープ用ですか?
SQLSELECT
ステートメントでは、そのステートメントのスコープに対して決定論的な関数を実行したいと思いますSELECT
(またはトランザクションも問題ありません)。
の多くの値はt.x
同じであるため、Oracle は同じ関数を何度も呼び出すことを省略して、処理を高速化できます。しかし、関数に というラベルを付けるとDETERMINISTIC
、このクエリを数回実行する間に結果がキャッシュされる可能性があります。使用できない理由は、時々変更される構成パラメーターを使用するDETERMINISTIC
ためです。my_function
他に使用できるキーワードはありますか?注意すべき点はありますか (メモリの問題、同時実行性など)? あるいは、t.x
値ごとに 1 回だけ関数を呼び出す分析関数などの他のトリック (パフォーマンスに大きな影響を与えずに) はありますか?
mysql - MySQLストアド_function_内で簡単な数式を評価するにはどうすればよいですか?
ストアド関数の中には:
(数値のみを使用し、文字列として動的に作成される単純な数式)
これを評価して結果を返すにはどうすればよいですか?
EXECUTEを使用できません(ストアド関数内では使用できません)。ストアドプロシージャにしてストアド関数から呼び出すと、「動的SQLはストアド関数またはトリガーで許可されていません」というメッセージが表示されます。関数内の直接の評価。SELECTステートメント内で呼び出す必要があるため、プロシージャではなくストアド関数が必要です。
mysql - ストアド関数を作成できません-構文が間違っていますか?
次の問題があります。
entity_idを対応するSKUに変換するストアド関数を作成したい
コードは次のとおりです。
今私の問題は、クエリを実行すると次のメッセージが表示されることです:[ウィンドウタイトル]エラー
使用しているdbimはMySQL5.0.51aです
よろしくお願いします。
mysql - MySQL Stored Function からの行データへのアクセス
title
、firstname
およびのような列を持つテーブルが与えられますlastname
。MySQL では、指定された列を CONCAT して返す fullname() という名前のこのストアド関数を作成しました。
私の考えは、この SQL ステートメントを実行するだけで、フルネームを取得できるというものでした。
SELECT *, fullname() FROM people;
うまくいきません。誰かが理由を知っていますか?私はストアド関数にかなり慣れていません。
mysql - 関数から返された結果で結合するときにMySQL JOINが主キーを使用しない
説明
JOIN
ストアド関数の結果を使用してテーブルを作成しようとしています。ストアド関数は、結合対象のフィールドと同じ型の符号なし整数を返します。
問題
私がしようとしているフィールドJOIN
は主キーです。私の問題は、MySQL がここで主キーを使用していないように見えることです。
関連するクエリの行 (以下を参照) は次のとおりです。
たとえば、関数呼び出しfirst_db.find_spend_id(...)
を整数に置き換えると、主キーが使用されていることが示され、クエリが高速になります。関数を使用すると、主キーが使用されておらず、クエリが遅いことがわかります。30
EXPLAIN
EXPLAIN
質問
この結合でこの関数の結果を使用するときに、関数を使用して MySQL に主キーを使用させる方法はありますか? この最も輝かしい解決策を達成するには、コードをどのように変更すればよいでしょうか?
情報
クエリ
関数
説明
mongodb - MongoDB: 保存された JavaScript 関数の実行中にエラーが発生しました
保存された JavaScript 関数の下で実行すると、エラーが発生します。
エラーは次のとおりです。
なんで?私を助けてください?
mysql - クエリでの複数の置換のためのmysqlストアド関数
私は1つのテーブルを持っています1
そして別のテーブル2
次のように、table1 の置換プロセスの後に、入力単語を table2 の単語と比較する mysql 関数が必要です。
私のmysql知識はこれを行うには貧弱です。これどうやってするの?
mysql - 保存された関数の一時テーブル?
TABLE
変数(MySQLには存在しないと聞きました)または一時テーブルのいずれかを使用する必要がある関数を作成しています。
ただし、一時テーブルはストアドプロシージャでのみ機能し、関数では機能しないようです。私はこのエラーを受け取り続けます:
ストアド関数またはトリガーでは、明示的または暗黙的なコミットは許可されていません。
私が構築しようとしているのは、私の以前の質問に対する解決策です。これは、開始日、終了日、およびコンマで区切られた文字列を受け取る関数です。最初に開始日から終了日までのすべての月を検索し、それらを個別のレコードとして最初の一時テーブルに保存します。次に、コンマで区切られた文字列を解析し、それらを2番目の一時テーブルに保存します。次に、2つに対して選択結合を実行し、レコードが存在する場合はtrueを返し、存在しない場合はfalseを返します。
私の意図は、これを別のクエリWHERE
句の一部として使用することです。したがって、ストアドプロシージャではなく、関数である必要があります。
保存された関数で一時テーブルを使用するにはどうすればよいですか?そして、私ができない場合、代わりに何ができますか?
これが私の(現在壊れている)関数です(または要点として):
mysql - ''の構文エラー?
これがどこから来ているのか理解できないようです...MySQLは空の引用符の構文エラーを表示し、まったく間違っていないように見える行番号を表示します。さらに悪いことに、行番号が指すループを削除しても、行番号が異なるだけで同じエラーが発生します。
13行目のエラー1064(42000):SQL構文にエラーがあります。39行目の''の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
MySQLからの役に立たないフィードバックについて話してください!
問題のコードはストアド関数であり、別の質問に回答を適用しようとしたときにこれに遭遇しました。更新されたコードはここから入手できます。
編集:@MarkByers、これがエラーをトリガーしている間に私がそれを得ることができる限り低くされた関数です:
c# - C#からSQLServerにXMLを渡す
C#(DataType文字列)からSQLServerストアドプロシージャに次の形式でXMLを送信しようとしています。
SQLServerの列にそのまま保存する必要のあるスペースがあります。しかし、それはのように保存され<Content/>
ます。つまり、一言で言えば、c#からSQLServerへのスペースが失われます。
とにかく私はこれを避けることができますか?