問題タブ [table-variable]

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

sql-server - テーブル変数の代わりに varchar を使用した動的 SQL

私は動的 SQL と SQL Server 全般にかなり慣れていませんが、 内のテーブル リストを反復処理したいと考えていますinformation_schema.tables。各反復にはvarchar、テーブル名 ( ) 内で検索される月-年をリストする変数がありますwhere table_name like concat('USA_RETHHDs_%', @Month)

一致した日付を持つ各テーブルは、varchar変数に配置されます。table問題は、代わりにリストから変数を取得したいのですが、information_schema.tablesこれを行う方法がわからないことです。varcharその結果、変数を動的 SQL クエリに埋め込んで、動的ルートに移動しようとしています。ただし、tableではなく変数が必要varcharです。

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

temp-tables - memsql は一時テーブルまたはテーブル変数をサポートしていませんか?

Memsql で一時テーブルを作成しようとしました: Create temporary table ppl_in_grp as select pid from h_groupings where dt= '2014-10-05' and location = 'Seattle'

次のエラーが発生しました:機能 'TEMPORARY テーブル' は MemSQL でサポートされていません。

代わりに使用できる同等のものはありますか?ありがとう!

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

common-table-expression - CTE、一時テーブルおよびテーブル変数

CTEtemp tableおよび をどこで使用するtable variableか教えてください。

私はそれらの違いについて読みましたが、それらの使用法に混乱しています。助けてください。

ありがとう。

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

sql-server - 「テーブル」列に出力するSQL 2012クエリ

SQLクエリのプロトタイプがあります(実際のクエリは大きすぎて投稿できません)

それが出力する

テーブルを持つ名前の列とともに、サイトを出力するクエリを作成する方法RISK STATISTICS、つまり

@sean-lange Tableauに入力するためのフラットな Excel ファイルを作成しようとしています。各サイトは地図上にプロットされ、リスクがある場合はホバーオーバーで詳細が表示されます。

サイトにはゼロから多数のリスクがある可能性があるため、table値を持つ列、つまり配列値を持つ列が必要になります。

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

sql - 照会された CTE 出力を一時テーブルまたはテーブル変数に保存する方法

私はこれCTEをクエリします

table variableここで、この結果をorに保存しようとしますtemporary table。私が試したら

私は声明をincorrect syntax error回避します。コマンドは a の代わりに aを期待しているWITHと思いますが、同じことが にも当てはまります。私は解決策を探していましたが、私が見つけたのは. 上記の出力をまたはに取得するにはどうすればよいですか?Insert IntoSelect statement;WITHCreate TableSelect Statement;Withtemporary tabletable variable

SQL Server 2014 を使用しています。

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

sql-server - SQL Server の UPDATE クエリのサブクエリでテーブル変数を参照する方法

ストアド プロシージャに UPDATE クエリがあり、データが既に入力されているテーブル変数を更新する必要があります。このクエリは、次のコードのように、サブクエリでのテーブル変数の@daysPerEmail.ProductId参照、つまりサブクエリでの参照が原因でエラーが発生しています。のようにテーブル変数のエイリアスを使用しようとしましたUPDATE @daysPerEmail d SET LastEmailDate...が、役に立ちませんでした。

質問: ProductId のテーブル変数列がサブクエリで正しく参照されるようにクエリを書き直すにはどうすればよいですか?

更新 1

これを SSMS で再現するには、次のクエリを使用します。SSMSはエラーを出しますMust declare the scalar variable "@daysPerEmail".

更新 2

パオロの答えは期待通りに機能しましたが、以下のようにクエリを使用した別の簡単な解決策も見つけました。@daysPerEmail テーブル変数の ProductId の列に一意の名前を付けるだけで済みました。名前を、UPDATE クエリに含まれるどのテーブルにも存在しない ProdId に変更しました。その後、サブクエリでテーブル変数を参照する必要はありませんでした。ProdId 列名は、UPDATE クエリで使用されるテーブルの中で @daysPerEmail テーブル変数でのみ検出されるためです。

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

r - RODBC コマンド 'sqlQuery' には、t-SQL のテーブル変数に関する問題があります

Microsoft SQL Server 2012 に適用している RODBC パッケージを使用しています。

今、私を困惑させる現象を発見しました。

RODBC コマンド sqlQuery を使用して次のクエリを実行すると、R では、Country、CID、PriceID、および WindID の列を含む空のデータ フレームが返されます。

これまでのところ、すべて問題ありません。

ただし、テーブル変数にレコードを書き込んで実行しようとすると

次に、R では、結果は 1 つのレコードを持つデータフレームではなく空の文字になります。それでも、同じクエリが SQL Server Management Studio で完全に機能します。また、R-Query の実行中に DB サーバーの動作を追跡したところ、サーバーはそれを完全に処理しているようです。RODBC インターフェースは結果を R コンソールに返すのに問題があるようです。

この問題を解決する方法を知っている人はいますか?

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

postgresql - plpgsqlでレコード型変数を使用するには?

同じストアド関数内の別のクエリで、レコード型変数に格納されたクエリ結果を使用するにはどうすればよいですか? Postgres 9.4.4 を使用しています。

次のようなテーブルを使用します。

以下のような関数(簡略化)を書きました:

...しかし、うまくいきませんでした:

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

sql - テーブル変数またはユーザー定義型を使用した SQL クエリのパフォーマンスの低下

500.000 行以上を含むビューに SELECT クエリがあります。シンプルにしましょう。

クエリは高速に実行され、~0s

私のニーズをより反映した一連の値で動作するように書き直してみましょう。

これは同じ高速で、 ~0s

しかし今、一連の ID は可変である必要があります。次のように定義しましょう。

セットには同じ 1 つの値が含まれていますが、現在はテーブル変数です。このようなクエリのパフォーマンスは に低下し2s、より複雑なクエリでは と同じくらい高く25sなりますが、固定 ID では約 にとどまります~0s

は次と同じ悪いです:

またはこれと同じくらい悪い:

パフォーマンスは上記のすべてで同じであり、常に固定値のパフォーマンスよりもはるかに悪いです。

動的 SQL には簡単にヘルプが付属しているため、nvarchar のようなもの(id1,id2,id3)を作成し、それを使用して固定クエリを作成すると、クエリ時間を維持できます~0s。しかし、動的SQLの使用はできるだけ避けたいと思います。もしそうなら、値に関係なく、常に同じ文字列を維持したいと思います(パラメータを使用 - 上記の方法では許可されていません)。

値の固定配列に似たテーブル変数のパフォーマンスを得る方法、または実行ごとに異なる動的 SQL コードを作成しないようにする方法はありますか?

PS私は同じ結果でユーザー定義型で上記を試しました

編集: 次のように定義された一時テーブルの結果:

実行時間を最大 3 倍改善しました。(13秒 -> 4秒)。これは、動的 SQL <1s よりもかなり高いです。

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

sql-server - ユーザー定義関数から返されるテーブルはどれが最適ですか?

関数からテーブルを返すためのより良い方法は何ですか? テーブル構造を定義するか、使用する必要がありますRETURNS TABLEか? 両方のフレーバーを使用するシナリオは何ですか?

例えば:

対:

使用法: