タグ付けされた質問 「table-variable」

12
SQL Serverの一時テーブルとテーブル変数の違いは何ですか?
SQL Server 2005では、次の2つの方法のいずれかで一時テーブルを作成できます。 declare @tmp table (Col1 int, Col2 int); または create table #tmp (Col1 int, Col2 int); これら2つの違いは何ですか?@tmpがtempdbをまだ使用しているかどうか、またはすべてがメモリ内で発生するかどうかについて、私は矛盾する意見を読みました。 どちらが優れているのか?

8
T-SQLのテーブル変数にSELECT INTO
複雑なSELECTクエリを取得しました。そこからすべての行をテーブル変数に挿入したいのですが、T-SQLでは許可されていません。 同じように、SELECT INTOまたはINSERT EXECクエリでテーブル変数を使用することはできません。 http://odetocode.com/Articles/365.aspx 短い例: declare @userData TABLE( name varchar(30) NOT NULL, oldlocation varchar(30) NOT NULL ) SELECT name, location INTO @userData FROM myTable INNER JOIN otherTable ON ... WHERE age > 30 table変数のデータは、後で別のテーブルに挿入/更新するために使用されます(ほとんどの場合、マイナーな更新を使用した同じデータのコピー)。これの目標はSELECT INTO、適切なテーブルに直接アクセスするよりも、スクリプトを少し読みやすく、カスタマイズしやすくすることです。rowcountはかなり小さいため、パフォーマンスは問題にならず、必要な場合にのみ手動で実行されます。 ...または私がすべて間違っているかどうかを教えてください。

6
いつSQLサーバーでテーブル変数と一時テーブルを使用する必要がありますか?
テーブル変数の詳細を学習しています。一時テーブルは常にディスク上にあり、テーブル変数はメモリ内にあると言います。つまり、テーブル変数は一時テーブルよりも少ないIO操作を使用するため、テーブル変数のパフォーマンスは一時テーブルよりも優れています。 ただし、場合によっては、メモリに含めることができないテーブル変数のレコードが多すぎると、テーブル変数が一時テーブルと同様にディスクに配置されます。 しかし、「多すぎるレコード」が何であるかはわかりません。100,000レコード?または1000,000レコード?使用しているテーブル変数がメモリ内にあるかディスク上にあるかをどのようにして知ることができますか?SQL Server 2005には、テーブル変数のスケールを測定したり、テーブル変数がメモリからディスクに配置されたときに通知する関数やツールはありますか?



6
SQL-Serverでテーブル変数を削除するにはどうすればよいですか?私もこれをする必要がありますか?
スクリプトにテーブル変数があります(ストアドプロシージャではありません)。2つの質問: テーブル変数を削除するにはどうすればよいですか?テーブルの削除@varNameにより、「不正なsnytax」エラーが発生します。 私はいつもこれをするべきですか?それは良い習慣だと聞いています。このような小さなスクリプトに本当に必要なのでしょうか? これが私のコードです: Declare @projectList table( name varchar(40) NOT NULL); Insert Into @projectList Values ('BCR-00021') Select * From @projectList Drop Table @projectList -- does not work
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.