問題タブ [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.
sql-server - SQL Server の一時テーブルとテーブル変数の違いは何ですか?
SQL Server 2005 では、次の 2 つの方法のいずれかで一時テーブルを作成できます。
また
これら2つの違いは何ですか?@tmp がまだ tempdb を使用しているかどうか、またはすべてがメモリ内で発生するかどうかについて、矛盾する意見を読みました。
どちらのシナリオで一方が他方より優れているか?
sql-server - SQL Server 2005 一時テーブル
ストアド プロシージャでは、SQL Server 2005 で #Temptable が作成されるのはいつですか? クエリ実行プランを作成するとき、またはストアド プロシージャを実行するときは?
sql-server - SQLServer2005エラー
なぜこれができないのですか、回避策はありますか?
このエラーが発生します。
メッセージ2714、レベル16、状態1、行13データベースにはすでに「#temptable」という名前のオブジェクトがあります。
tsql - T-SQL での一時テーブルのインデックスの最適な使用法
ストアド プロシージャ内に一時テーブルを作成していて、それに 1 つまたは 2 つのインデックスを追加して、それに対して作成された追加ステートメントのパフォーマンスを向上させたい場合、最善の方法は何ですか? Sybase は次のように述べています。
「インデックスを作成するとき、テーブルにはデータが含まれている必要があります。一時テーブルを作成し、空のテーブルにインデックスを作成する場合、Adaptive Server はヒストグラムや密度などのカラム統計を作成しません。インデックスの作成後にデータ ローを挿入すると、オプティマイザの統計が不完全です。」
しかし最近、同僚が、一時テーブルを実際に使用するストアド プロシージャとは別のストアド プロシージャで一時テーブルとインデックスを作成すると、Adaptive Server オプティマイザがそれらを利用できると言いました。
全体として、私はほとんど付加価値のないラッパー手順の大ファンではないので、実際にこれをテストすることはできませんでしたが、誰かが他に何か持っているかどうかを確認するために、そこに質問を出そうと思いました.アプローチやアドバイス?
tsql - テーブルが削除されると、一時テーブルのインデックスは削除されますか?
次の SQL はインデックスも削除しますか? それとも個別に削除する必要がありますか?
sql-server - SQL Server 2005 で x と y の間の日付のテーブルを取得する方法
日付 @x と日付 @y の間のすべての日付のテーブルを作成する簡単な方法 (できれば while ループを使用しない) が必要なだけなので、いくつかの統計テーブルへの外部結合を残すことができます。間の日、欠落している日を 0 でマークできるようにする
sql - SQL Server:2つのテーブルに同時に挿入することは可能ですか?
Object_Table
私のデータベースには、、、Data_Table
と呼ばれる3つのテーブルが含まれていますLink_Table
。リンクテーブルには、オブジェクトレコードのIDとデータレコードのIDの2つの列が含まれています。
ある特定のオブジェクトIDにリンクされている場所からデータをコピーし、対応するレコードを別の特定のオブジェクトIDDATA_TABLE
に挿入したいと思います。Data_Table
Link_Table
これを行うには、テーブル変数を選択し、反復ごとに2つの挿入を実行してループします。
これはそれを行うための最良の方法ですか?
編集:2つの理由でループを避けたいと思います。1つは怠惰でループ/一時テーブルに必要なコードが多いこと、コードが多いほど間違いを犯す場所が多いこと、2つ目はパフォーマンスに関する懸念です。
1回の挿入ですべてのデータをコピーできますが、各レコードが新しいIDを持つ新しいデータレコードにリンクテーブルをリンクするにはどうすればよいですか?
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つの質問があります:
- 'bhk' は一時テーブルを作成するストアド プロシージャを呼び出しているため、'bhk' は所有者であり、DBCC CHECKIDENT の実行を許可されるべきではありませんか?
- ユーザー 'guest' にアクセス許可がないというエラー メッセージが返されるのはなぜですか? 私の知る限り、「ゲスト」としてログインしていません。
どんな助けでも大歓迎です。
tsql - 複数の tempdb 環境で一時テーブルの存在をテストしていますか?
特定の一時テーブルが作成された tempdb データベースを参照せずに、セッションで作成されたかどうかを判断する方法はありますか? ユーザーはログイン時に特定の tempdb に割り当てられるため、どの tempdb を使用するかわかりません。
一時テーブルからデータを選択するために tempdb を指定する必要はないので、テーブルが存在するかどうかを確実に確認できますか?
c# - SQLストアドプロシージャの一時テーブルから返されたデータをC#クエリコンポーネントに認識させるにはどうすればよいですか?
以下のようなストアド プロシージャを作成しました (この短縮バージョンを使用して、問題を解決しようとしています)。
VS2008 の C# コードから、クエリ コンポーネントを[既存のストアド プロシージャを使用] オプションで使用して、これを DataTable / DataGridView に接続して結果を表示しようとしています。
ただし、一時テーブルから選択しているため、Query コンポーネントのプロパティで、Visual Studio はストアド プロシージャから返される列を表示しません。SP は実際のスキーマに基づいていないため、使用されているデータ型を判断するのに問題があると思います。
実際のテーブルから選択するさまざまなストアド プロシージャに接続すると、列が正しく表示されます。
誰かがこれについて知っていますか?どのような種類のデータが返されるかを明示的に述べるためにどこかに追加できるヒントはありますか?
前もって感謝します。