問題タブ [tsql]
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.
tsql - MS SQLServer2005でテーブル値変数の内部名を確認する方法
#t1などの一時テーブルの名前は、次を使用して決定できます。
テーブル値の変数の名前、つまり次のように宣言された変数の名前を見つけるにはどうすればよいですか?
目的は、次のようなものを使用して、テーブルに関するメタ情報を取得できるようにすることです。
ただし、一時テーブルの場合は、のtempdb.sys.tables
代わりに調べる必要がありsys.tables
ます。テーブル値の変数はどこで探しますか?
私は今、自分がやりたいこと、つまりテーブル値の変数をhtmlテーブルにフォーマットするためのジェネリック関数を書くことができないことに気づきました。手始めに、SQL Server 2005では、テーブル値のパラメーターを渡すことはできません。
http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters
さらに、SQL Server 2008では、パラメーターを厳密に入力する必要があるため、列の数と種類を常に把握できます。
sql - SQL Server テーブルの主キーをどのように一覧表示しますか?
簡単な質問ですが、T-SQL を使用してテーブルの主キーを一覧表示するにはどうすればよいですか? テーブルのインデックスを取得する方法は知っていますが、PK を取得する方法を思い出せません。
sql - CSV からの SQL 一括インポート
大きな CSV ファイルを SQL サーバーにインポートする必要があります。私はこれを使用しています:
問題は、すべてのフィールドが引用符 (" ") で囲まれているため、行は実際には次のようになります。
どうにかしてそれらを一括インポートし、引用符をフィールド区切り記号として使用するように SQL に指示できますか?
編集: '","' を区切り文字として使用する際の問題は、提案されている例のように: ほとんどの例では、最初の " を最初の列に、最後の " を最後の列に含むデータをインポートし、先に進んでそれを取り除いてください。悲しいかな、最初の (そして最後の) 列は datetime であり、"20080902 を datetime としてインポートすることはできません。
私が読んだことから、FORMATFILEが道だと思いますが、ドキュメント(MSDNを含む)はひどく役に立ちません。
sql-server - SQL Server Management Studio –TSQLコーディングプロセスを改善するためのヒント
私は以前、ペアプログラミングを使用するのが一般的な場所で働いていました。コードを一緒に作業するときに、お互いから学ぶことができる小さなことをいくつ覚えています。新しいショートカットやコードスニペットなどを時間の経過とともに取得することで、コードの記述効率が大幅に向上しました。
SQL Serverを使い始めてから、私は独り立ちしました。今はできない他の人と一緒に仕事をすることから、私が普段選ぶ最高の習慣。
だからここに質問があります:
- SQL Server Management Studioを使用してTSQLコードを効率的に作成するためのヒントは何ですか?
- コーディングの速度を向上させると思われる2〜3つのこと/ショートカットのヒントを守ってください
- TSQLおよびSQLServerManagement Studio2005/2008の範囲内にとどまるようにしてください機能がManagementStudioのバージョンに固有である場合は、次のように示してください。例:「SQLServer2008でのみ動作する」
編集:
私はあなた方の何人かによって誤解されたかもしれないのではないかと心配しています。効率的なTSQLコードを作成するためのヒントを探しているのではなく、ManagementStudioを効率的に使用してコーディングプロセス自体を高速化する方法についてのアドバイスを探しています。
私が探している答えの種類は次のとおりです。
- テンプレートの使用、
- キーボードショートカット、
- IntelliSenseプラグインなどの使用。
基本的に、コーディング体験をもう少し効率的で快適にするこれらの小さなこと。
sql-server - T-SQL: あるテーブルから、値が別のテーブルの値と完全に一致する行を取得するにはどうすればよいですか?
以下を考えると:
@b と完全に一致する @a のすべての値を照会するにはどうすればよいですか?
{@a.pkid = 1, @b.otherID = -1}
は返されません (3 つの値のうち 2 つだけが一致します)
{@a.pkid = 2, @b.otherID = -1}
が返されます (3 つの値のうち 3 つが一致)
テーブルのリファクタリングはオプションです。
編集: James と Tom H からの回答で成功しました。
@b に別のケースを追加すると、少し不足します。
{@a.pkid = 1, @b.otherID = -2}
これが 2 つの追加の行 (とを返す必要があると仮定すると{@a.pkid = 2, @b.otherID = -2}
、機能しません。ただし、私のプロジェクトでは、これは問題ではありません。
sql - データベース テーブルの構成管理をどのように処理しますか?
データベース テーブルのソース コントロール管理と自動展開 (構成管理) をどのように処理しますか。私は SQL Server 環境で作業していますが、スクリプトを作成して、ストアド プロシージャ、トリガー、関数、さらにはジョブのファイルを作成するのは非常に簡単です。また、新しい db テーブルの作成をスクリプトで処理するのも簡単です。ただし、後でそのテーブルを変更したい場合は、データを失うことを恐れて、必ずしもテーブルを削除して新しいフィールドで再作成することはできません。この問題に対処する自動化された方法はありますか? 新しく変更されたテーブルを更新した後、一時テーブルをスクリプト化してバックフィルしますか? (データが多いと荒いかもしれません)
どんな提案でも大歓迎です。
sql-server - サブクエリ内の複数の結果を 1 つのコンマ区切り値に結合する
私は2つのテーブルを持っています:
関係は の 1 行TableA
- 多くの ですTableB
。
今、私はこのような結果を見たいです:
これは機能しません (複数の結果がサブクエリになります):
クライアント側で処理を行う場合、これは些細な問題です。ただし、これは、すべてのページで X クエリを実行する必要があることを意味します。ここで、X は の結果の数ですTableA
。
の行に対して複数の結果が返されるため、単純に GROUP BY などを実行できないことに注意してくださいTableA
。
COALESCE などを利用した UDF が機能するかどうかはわかりません。
sql - SQLServerのDateTimeデータ型から日付のみを返す方法
戻り値:2008-09-22 15:24:13.790
時間の部分なしでその日付の部分が欲しい:2008-09-22 00:00:00.000
どうすればそれを取得できますか?
sql-server - テーブルで行サイズを見つける方法
DB の 1 つが許容サイズに近づいています。
最大データを含むテーブルを見つけるために、次のクエリを使用しました。
最大データを含む犯人テーブルを返しました。
次のステップとして、サイズに基づいて行をクリーンアップしたいと考えています。このために、サイズに基づいて行を並べ替えたいと思います。
クエリを使用してこれを達成する方法は? これを行うツールはありますか?
sql-server - SQL Server 2005データベースの計算列のパフォーマンスへの影響は?
状況:非正規化されたテーブルが多数ある大規模なデータベースがあります。サマリーテーブルの同期を維持するために、データを再サマリーする必要があることがよくあります。データを最新の状態に保つために計算列を使用することについて、話し合いました。トリガーについても話しましたが、それは別の議論です。
サマリーテーブルでは、標準IDと標準の説明がテーブルに格納されるようにテーブルを非正規化しました。これは本質的に、テーブルが十分な頻度で再要約されることを前提としているため、標準の説明を変更すると、要約テーブルでも変更されます。悪い仮定。
質問:サマリーテーブルの標準の説明を、標準のテーブルから標準の説明を選択する派生/計算列にした場合はどうなりますか?100,000〜500,000行のテーブルに計算列をドロップすると、パフォーマンスが大幅に低下しますか?