問題タブ [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 投票する
4 に答える
3948 参照

sql - OracleはSQLでストアド関数呼び出しをどのように処理しますか?

彼ら。たとえば、クエリがあります。

私はそれを次のように書き直しました:

my_stored_functionリソースを消費するものとして考えてみましょう。2番目のクエリでは、呼び出される回数が2回少なくなると思いますが、この変更後、パフォーマンスが大幅に向上することはありませんでした。

だから、私の仮定は間違っていたと思います。では、Oracleは実際にこれらの関数呼び出しをどのように処理しますか?

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

sql - SELECT ステートメントから値を返す MySQL

このエラーが発生し続けます: 結果は複数の行で構成されていました

私はこの機能を持っています:

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

sql - MySQLの再帰的に保存された関数

特定のカテゴリのパスを再帰的に構築する関数を作成しようとしています

親を持たないカテゴリ(parent_id = 0)でこの関数を実行しようとすると正常に機能しますが、parent_id> 0のカテゴリを試してみると、1424の再帰的な保存関数とトリガーが許可されません。

これを回避するにはどうすればよいですか?このコードは、少なくともMySQLサーバーバージョン5.1が必要な通常のWebホスティングサービスでホストします。


Ike Walkerの助けを借りて、代わりにうまく機能する手順を作成しました

それから私はそれを呼び出すためにこのようなものを使用します

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

mysql - mysqlでの関数の作成が機能しない-エラー1064

phpMyAdminhttp ://www.databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htmを介してこの例を試しました

これはうまくいきました

次のステートメントは次のようになりました。

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

.net - SQLストアドプロシージャが.NETオブジェクトを呼び出すことは可能ですか?

SQLストアドプロシージャが.NETオブジェクトを呼び出すことは可能ですか?私の状況では、文字列パラメーターを取得して、安全なクライアントが使用できるハッシュ結果を返す必要があります。

このSPを結果ごとに(行ごとに1回)呼び出すか、複数の行を返すことができます。それはすべて、SQLが私をサポートするものに依存します。

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

sql-server - MS SQL - ジオメトリ データ型を使用して距離を大幅に高速化していますか?

私は、多くの地理空間データを含むデータベースを持っています...基本的に、何万人もの人々に関する情報であり、それぞれの座標があります。

座標は現在、緯度と経度の 2 つの float として格納されています。関数を使用して、そのレコード内の座標と渡す座標の間の距離を決定します。基本的には、取得した結果を距離で並べ替えて制限します。これは、大まかに関数で使用されるコードです。

ストアド プロシージャの実行に 4 ~ 5 秒かかります。

SQL Azure がジオメトリ データ型をサポートするようになったことに気付きました (データベースを作成したときはサポートしていませんでした)。

私の質問は...ストアド プロシージャの実行速度が大幅に向上し、ジオメトリ データ型を使用するように変更するのにかかる時間を投資する価値があるでしょうか?

ありがとう!

スティーブン

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

sql - mysql ストアド関数パラメータ

初めてのストアド関数の作成を開始したばかりなので、いくつか問題があります。現在、関数を呼び出しますSELECT test();(test は今のところ関数名です)。関数 (ユーザー名 ID) に番号を送信し、ユーザー名を返したいと考えています。

1SELECT test(1);はテーブル内のユーザーの ID です。これはユーザー名が返されるように機能するようですが、任意の数字を入力すると同じユーザー名も返されます。

パラメータを に設定しましたID int

キーワードINTOがユーザー名の値を変数に入れると考えるのは正しいnew_usernameですか? なしで実行するとINTO、エラーが発生します。

関数から結果セットを返すことはできません

これで明らかな間違いを犯したことがありますか?完全に間違っていないことを願っています。アドバイスをありがとう:)。

編集:テーブルにさらにいくつかの行を追加したところ、エラーが発生しました:

結果は複数の行で構成されていました

完全な SQL バージョン:

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

sql-server - SQL ストアド プロシージャから給与日付のテーブルを返す

私は SQL Server Reporting Services 2008 を使用していますが、私の経験のほとんどは LAMP 開発に関するものであるため、これは私にとってやや新しいものです。さらに、ほとんどのロジックをストアド プロシージャとして SQL に移行することについては、あまり詳しくありませんが、実行したいと考えています。どんな助けや指示も大歓迎です。

レポート パラメーターの許容値として使用する、表形式の許容可能な給与日付のリストが必要です。理想的には、ユーザーはレポート パラメーターによって提供されるドロップダウンからこの給与計算日を選択できるようになり、データセットで使用されてテーブルからデータを取得できるようになります。可能であれば、ロジックを SQL サーバーに保存したいと考えています。これは、他のいくつかのレポートで使用される可能性が高いためです。

日付のリストを作成するロジックはかなり単純です。これは、システムが必要とする最も古い給与計算日 (2007 年のいつか) から始まり、そこから 2 週間ごとに単純に進みます。プロシージャまたは関数は、直近の給与計算日までのこれらすべての日付を含むテーブルを返す必要があります。

これを行う方法は、一時テーブルを作成し、それに日付のリストを追加してから、レポート パラメーターが読み取れるようにこのテーブルを返すプロシージャまたは関数であるように思えます。これは受け入れられる方法ですか?

アイデア、例、または考えは大歓迎です。

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

sql - MySqlがストアドプロシージャ内からストアド関数を呼び出してエラーが発生しました

ストアドプロシージャ内からストアド関数を呼び出そうとすると、1064エラーが発生します。これは、私がこれを行おうとしている行でのみ発生しますSET account_id = get_account_id(user);。問題は何ですか?どうすれば修正できますか?

アカウントID保存機能:

ストアド関数を呼び出そうとしているストアドプロシージャ:

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

sql - 0000形式を維持しながらTEXTでDECIMAL(4,0)を返す方法は?

ストアド関数に値をTEXTとして返したいのですが、なりたいのですが00011

私はこのコードフラグメントを持っています:

私は試した

しかし失敗しました。