タグ付けされた質問 「tsql」

T-SQL(Transact Structured Query Language)は、Sybase ASEおよびMicrosoft SQL ServerでサポートされるSQL機能の拡張です。MySQL、PostgreSql、Oracle(Pl / SQL)関連のクエリには、このタグを使用しないでください。LINQを使用して記述されているSQLコードもこのタグの一部ではないことに注意してください。このタグは、Microsoft SQL Serverを使用した高度なSQLプログラミング用に特別に作成されました。

5
既存のテーブルへのSQL Server SELECT
1つのテーブルからいくつかのフィールドを選択し、それらをストアドプロシージャから既存のテーブルに挿入しようとしています。これが私が試していることです: SELECT col1, col2 INTO dbo.TableTwo FROM dbo.TableOne WHERE col3 LIKE @search_key SELECT ... INTO ...一時テーブル用だと思うので、dbo.TableTwoすでに存在するエラーが発生します。 からdbo.TableOneに複数の行を挿入するにはどうすればよいdbo.TableTwoですか?


22
複数列のSQL MAX?
複数の列の最大値の行ごとに1つの値を返すにはどうすればよいですか。 TableName [Number, Date1, Date2, Date3, Cost] 私はこのようなものを返す必要があります: [Number, Most_Recent_Date, Cost] クエリ?
372 sql  sql-server  tsql 

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はかなり小さいため、パフォーマンスは問題にならず、必要な場合にのみ手動で実行されます。 ...または私がすべて間違っているかどうかを教えてください。

12
SQL Server:PARTITION BYとGROUP BYの違い
私はGROUP BY何年にもわたってすべてのタイプの集約照会に使用してきました。最近、私はPARTITION BY集計を実行するために使用するいくつかのコードをリバースエンジニアリングしています。私が見つけることができるすべてのドキュメントを読むとPARTITION BY、それはに似ているようですがGROUP BY、おそらく追加の機能が少し追加されていますか?それらは同じ一般的な機能の2つのバージョンですか、それとも完全に異なるものですか?

4
T-SQLのスリープコマンド?
一定期間スリープさせるだけのT-SQLコマンドを作成する方法はありますか?私は非同期でWebサービスを作成しており、非同期パターンが実際にそれをよりスケーラブルにするかどうかを確認するためにいくつかのテストを実行できるようにしたいと考えています。遅い外部サービスを「モック」するために、実行速度が遅いが実際には大量のものを処理していないスクリプトでSQLサーバーを呼び出すことができるようにしたいと思います。



4
T-SQLステートメントの接頭辞Nの意味は何ですか?いつ使用する必要がありますか?
一部の挿入T-SQLクエリでプレフィックスNを確認しました。多くの人がN値をテーブルに挿入する前に使用しました。 検索Nしましたが、テーブルに文字列を挿入する前に、を含めることの目的がわかりませんでした。 INSERT INTO Personnel.Employees VALUES(N'29730', N'Philippe', N'Horsford', 20.05, 1), この「N」接頭辞はどのような目的に使用されますか、いつ使用する必要がありますか?
352 sql  sql-server  tsql 

28
SQL Server DBのすべてのインデックスとインデックス列のリスト
SQL Server 2005以降ですべてのインデックスとインデックス列のリストを取得するにはどうすればよいですか?私が得ることができる最も近いものは: select s.name, t.name, i.name, c.name from sys.tables t inner join sys.schemas s on t.schema_id = s.schema_id inner join sys.indexes i on i.object_id = t.object_id inner join sys.index_columns ic on ic.object_id = t.object_id inner join sys.columns c on c.object_id = t.object_id and ic.column_id = c.column_id where i.index_id > …

15
SET NOCOUNT ONの使用法
SET NOCOUNTについて異なる見解があるこの質問に触発されて ... SQL ServerにはSET NOCOUNT ONを使用する必要がありますか?そうでない場合、なぜそうではないのですか? 何それがない 2011年7月22日に、編集6 DMLの後に「影響を受けるxx行」メッセージを抑制します。これは結果セットであり、送信時にクライアントはそれを処理する必要があります。小さいですが、測定可能です(以下の回答を参照) トリガーなどの場合、クライアントは複数の「影響を受けるxx行」を受け取ります。これにより、一部のORM、MS Access、JPAなどであらゆる種類のエラーが発生します(以下の編集を参照)。 バックグラウンド: 一般的に受け入れられているベストプラクティス(この質問までは考えていました)はSET NOCOUNT ON、SQL Serverのトリガーとストアドプロシージャで使用することです。私たちはどこでもそれを使用し、簡単なグーグルは多くのSQL Server MVPも同意することを示しています。 MSDNは、これが.net SQLDataAdapterを破壊する可能性があると述べています。 これは、SQLDataAdapterが「影響を受ける行数n」のメッセージが一致することを期待しているため、まったく単純なCRUD処理に限定されていることを意味します。だから、私は使用できません: 重複を避けるために存在する場合(行はメッセージに影響しません)注:注意して使用してください 存在しない場所(予想される行が少ない場合) ささいな更新を除外する(たとえば、実際に変更されるデータはない) 前にテーブルへのアクセスを行う(ロギングなど) 複雑さや正規化を隠す 等 marc_s(彼のSQLを知っている人)の質問では、これを使用しないでください。これは私が思うこととは異なります(私もSQLである程度有能であると私は考えています)。 何か不足している可能性があります(明らかなことを自由に指摘してください)が、そこにいる人々はどう思いますか? 注:SQLDataAdapterを最近使用していないため、このエラーが発生してから数年が経ちました。 コメントと質問の後の編集: 編集:その他の考え... 複数のクライアントがあります。1つはC#SQLDataAdaptorを使用し、もう1つはJavaのnHibernateを使用します。これらは、によってさまざまな方法で影響を受ける可能性がありますSET NOCOUNT ON。 ストアドプロシージャをメソッドと見なす場合、内部処理の一部が独自の目的で特定の方法で機能すると想定することは不適切な形式(アンチパターン)です。 編集2:nHibernateの質問を破るトリガー、SET NOCOUNT ON設定できない場所 (そして、それはこれの複製ではありません) 編集3:私のMVPの同僚のおかげで、さらに詳しい情報 KB 240882、SQL 2000以前で切断を引き起こす問題 パフォーマンス向上のデモ 編集4:2011年5月13日 指定されていない場合、Linq 2 SQLも壊れますか? …

24
SQLに「LIKE」と「IN」の組み合わせはありますか?
OverаэтотвопросестьответынаStack Overflowнарусском:СуществуетликомбинацияоператоровLIKEиINвуслории SQLでは、(悲しいことに)LIKEデータベースが正規化のほぼすべての規則に違反しているため、「」条件を使用する必要があります。今は変更できません。しかし、それは問題とは無関係です。 さらに、WHERE something in (1,1,2,3,5,8,13,21)SQLステートメントの可読性と柔軟性を向上させるような条件をよく使用します。 複雑な副選択を書かずにこれら2つを組み合わせるための可能な方法はありますか? WHERE something LIKE ('bla%', '%foo%', 'batz%')これの代わりに簡単なものが欲しい: WHERE something LIKE 'bla%' OR something LIKE '%foo%' OR something LIKE 'batz%' ここではSQl ServerとOracleを使用していますが、どのRDBMSでもこれが可能かどうか興味があります。
340 sql  sql-server  oracle  tsql  plsql 




弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.