問題タブ [temp-tables]

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

sql-server - SQL Server の一時テーブルとテーブル変数の違いは何ですか?

SQL Server 2005 では、次の 2 つの方法のいずれかで一時テーブルを作成できます。

また

これら2つの違いは何ですか?@tmp がまだ tempdb を使用しているかどうか、またはすべてがメモリ内で発生するかどうかについて、矛盾する意見を読みました。

どちらのシナリオで一方が他方より優れているか?

0 投票する
4 に答える
4786 参照

sql-server - SQL Server 2005 一時テーブル

ストアド プロシージャでは、SQL Server 2005 で #Temptable が作成されるのはいつですか? クエリ実行プランを作成するとき、またはストアド プロシージャを実行するときは?

0 投票する
6 に答える
225 参照

sql-server - SQLServer2005エラー

なぜこれができないのですか、回避策はありますか?

このエラーが発生します。

メッセージ2714、レベル16、状態1、行13データベースにはすでに「#temptable」という名前のオブジェクトがあります。

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

tsql - T-SQL での一時テーブルのインデックスの最適な使用法

ストアド プロシージャ内に一時テーブルを作成していて、それに 1 つまたは 2 つのインデックスを追加して、それに対して作成された追加ステートメントのパフォーマンスを向上させたい場合、最善の方法は何ですか? Sybase は次のように述べています

「インデックスを作成するとき、テーブルにはデータが含まれている必要があります。一時テーブルを作成し、空のテーブルにインデックスを作成する場合、Adaptive Server はヒストグラムや密度などのカラム統計を作成しません。インデックスの作成後にデータ ローを挿入すると、オプティマイザの統計が不完全です。」

しかし最近、同僚が、一時テーブルを実際に使用するストアド プロシージャとは別のストアド プロシージャで一時テーブルとインデックスを作成すると、Adaptive Server オプティマイザそれらを利用できると言いました。

全体として、私はほとんど付加価値のないラッパー手順の大ファンではないので、実際にこれをテストすることはできませんでしたが、誰かが他に何か持っているかどうかを確認するために、そこに質問を出そうと思いました.アプローチやアドバイス?

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

tsql - テーブルが削除されると、一時テーブルのインデックスは削除されますか?

次の SQL はインデックスも削除しますか? それとも個別に削除する必要がありますか?

0 投票する
8 に答える
6132 参照

sql-server - SQL Server 2005 で x と y の間の日付のテーブルを取得する方法

日付 @x と日付 @y の間のすべての日付のテーブルを作成する簡単な方法 (できれば while ループを使用しない) が必要なだけなので、いくつかの統計テーブルへの外部結合を残すことができます。間の日、欠落している日を 0 でマークできるようにする

0 投票する
11 に答える
383292 参照

sql - SQL Server:2つのテーブルに同時に挿入することは可能ですか?

Object_Table私のデータベースには、、、Data_Tableと呼ばれる3つのテーブルが含まれていますLink_Table。リンクテーブルには、オブジェクトレコードのIDとデータレコードのIDの2つの列が含まれています。

ある特定のオブジェクトIDにリンクされている場所からデータをコピーし、対応するレコードを別の特定のオブジェクトIDDATA_TABLEに挿入したいと思います。Data_TableLink_Table

これを行うに、テーブル変数を選択し、反復ごとに2つの挿入を実行してループします。

これはそれを行うための最良の方法ですか?

編集:2つの理由でループを避けたいと思います。1つは怠惰でループ/一時テーブルに必要なコードが多いこと、コードが多いほど間違いを犯す場所が多いこと、2つ目はパフォーマンスに関する懸念です。

1回の挿入ですべてのデータをコピーできますが、各レコードが新しいIDを持つ新しいデータレコードにリンクテーブルをリンクするにはどうすればよいですか?

0 投票する
5 に答える
11824 参照

sql-server-2005 - 間違ったユーザーに対して権限エラーをスローする一時テーブルの DBCC CHECKIDENT

'public' サーバー ロールのみのメンバーである非 sa ユーザー 'bhk' として SQL Server 2005 データベースにログインしています。次のコードは、ユーザー 'bhk' によって呼び出されたストアド プロシージャ内で実行を試みます。このコード行...

このエラーの原因...


ユーザー 'guest' には、オブジェクト'#Table1__00000000007F'に対して DBCC CHECKIDENT を実行する権限がありません。

DBCC CHECKIDENT を実行するために必要なアクセス許可を認識しています...
呼び出し元は、テーブルを所有しているか、sysadmin 固定サーバー ロール、db_owner 固定データベース ロール、または db_ddladmin 固定データベース ロールのメンバーである必要があります。

だから私は2つの質問があります:

  1. 'bhk' は一時テーブルを作成するストアド プロシージャを呼び出しているため、'bhk' は所有者であり、DBCC CHECKIDENT の実行を許可されるべきではありませんか?
  2. ユーザー 'guest' にアクセス許可がないというエラー メッセージが返されるのはなぜですか? 私の知る限り、「ゲスト」としてログインしていません。

どんな助けでも大歓迎です。

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

tsql - 複数の tempdb 環境で一時テーブルの存在をテストしていますか?

特定の一時テーブルが作成された tempdb データベースを参照せずに、セッションで作成されたかどうかを判断する方法はありますか? ユーザーはログイン時に特定の tempdb に割り当てられるため、どの tempdb を使用するかわかりません。

一時テーブルからデータを選択するために tempdb を指定する必要はないので、テーブルが存在するかどうかを確実に確認できますか?

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

c# - SQLストアドプロシージャの一時テーブルから返されたデータをC#クエリコンポーネントに認識させるにはどうすればよいですか?

以下のようなストアド プロシージャを作成しました (この短縮バージョンを使用して、問題を解決しようとしています)。

VS2008 の C# コードから、クエリ コンポーネントを[既存のストアド プロシージャを使用] オプションで使用して、これを DataTable / DataGridView に接続して結果を表示しようとしています。

ただし、一時テーブルから選択しているため、Query コンポーネントのプロパティで、Visual Studio はストアド プロシージャから返される列を表示しません。SP は実際のスキーマに基づいていないため、使用されているデータ型を判断するのに問題があると思います。

実際のテーブルから選択するさまざまなストアド プロシージャに接続すると、列が正しく表示されます。

誰かがこれについて知っていますか?どのような種類のデータが返されるかを明示的に述べるためにどこかに追加できるヒントはありますか?

前もって感謝します。