問題タブ [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.
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
です。
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 でサポートされていません。
代わりに使用できる同等のものはありますか?ありがとう!
common-table-expression - CTE、一時テーブルおよびテーブル変数
CTE
、temp table
および をどこで使用するtable variable
か教えてください。
私はそれらの違いについて読みましたが、それらの使用法に混乱しています。助けてください。
ありがとう。
sql-server - 「テーブル」列に出力するSQL 2012クエリ
SQLクエリのプロトタイプがあります(実際のクエリは大きすぎて投稿できません)
それが出力する
テーブルを持つ名前の列とともに、サイトを出力するクエリを作成する方法RISK STATISTICS
、つまり
@sean-lange Tableauに入力するためのフラットな Excel ファイルを作成しようとしています。各サイトは地図上にプロットされ、リスクがある場合はホバーオーバーで詳細が表示されます。
サイトにはゼロから多数のリスクがある可能性があるため、table
値を持つ列、つまり配列値を持つ列が必要になります。
sql - 照会された CTE 出力を一時テーブルまたはテーブル変数に保存する方法
私はこれCTE
をクエリします
table variable
ここで、この結果をorに保存しようとしますtemporary table
。私が試したら
私は声明をincorrect syntax error
回避します。コマンドは a の代わりに aを期待しているWITH
と思いますが、同じことが にも当てはまります。私は解決策を探していましたが、私が見つけたのは. 上記の出力をまたはに取得するにはどうすればよいですか?Insert Into
Select statement
;WITH
Create Table
Select Statement
;With
temporary table
table variable
SQL Server 2014 を使用しています。
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 テーブル変数でのみ検出されるためです。
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 コンソールに返すのに問題があるようです。
この問題を解決する方法を知っている人はいますか?
postgresql - plpgsqlでレコード型変数を使用するには?
同じストアド関数内の別のクエリで、レコード型変数に格納されたクエリ結果を使用するにはどうすればよいですか? Postgres 9.4.4 を使用しています。
次のようなテーブルを使用します。
以下のような関数(簡略化)を書きました:
...しかし、うまくいきませんでした:
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 よりもかなり高いです。
sql-server - ユーザー定義関数から返されるテーブルはどれが最適ですか?
関数からテーブルを返すためのより良い方法は何ですか? テーブル構造を定義するか、使用する必要がありますRETURNS TABLE
か? 両方のフレーバーを使用するシナリオは何ですか?
例えば:
対:
使用法: