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

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

30
SQL ServerでSELECTから更新するにはどうすればよいですか?
ではSQL Serverの、それはすることが可能であるINSERT使用してテーブルへのSELECT文を: INSERT INTO Table (col1, col2, col3) SELECT col1, col2, col3 FROM other_table WHERE sql = 'cool' を介して更新することもできSELECTますか?値を含む一時テーブルがあり、それらの値を使用して別のテーブルを更新したいと考えています。おそらくこのようなもの: UPDATE Table SET col1, col2 SELECT col1, col2 FROM other_table WHERE sql = 'cool' WHERE Table.id = other_table.id
3695 sql  sql-server  tsql  select 

30
SQL Serverテーブルに列が存在するかどうかを確認するにはどうすればよいですか?
特定の列が存在しない場合は、追加する必要があります。次のようなものがありますが、常にfalseを返します。 IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'myTableName' AND COLUMN_NAME = 'myColumnName') SQL Serverデータベースのテーブルに列が存在するかどうかを確認するにはどうすればよいですか?



29
ストアドプロシージャの結果を一時テーブルに挿入する
どうすればよいSELECT * INTO [temp table] FROM [stored procedure]ですか?ないFROM [Table]と定義しませんか[temp table]? SelectからBusinessLineへのすべてのデータはtmpBusLine問題なく機能します。 select * into tmpBusLine from BusinessLine 私は同じことを試みてstored procedureいますが、データを返すa を使用することはまったく同じではありません。 select * into tmpBusLine from exec getBusinessLineHistory '16 Mar 2009' 出力メッセージ: メッセージ156、レベル15、状態1、行2キーワード「exec」付近の構文が正しくありません。 出力ストアドプロシージャと同じ構造の一時テーブルを作成するいくつかの例を読みましたが、これは問題なく機能しますが、列を指定しない方がいいでしょう。


16
SQL ServerでJOINを使用してUPDATEステートメントを実行するにはどうすればよいですか?
SQL Serverでこのテーブルを「親」テーブルのデータで更新する必要があります。以下を参照してください。 テーブル:販売 id (int) udid (int) assid (int) テーブル:ud id (int) assid (int) sale.assid更新する正しい値が含まれていますud.assid。 これを行うクエリは何ですか?私は考えていますが、joinそれが可能かどうかはわかりません。

30
重複した行を削除するにはどうすればよいですか?
かなり大きなものから重複行を削除する最良の方法は何ですか SQL Serverテーブル(300,000以上の行)ですか? もちろん、RowIDアイデンティティーフィールドが存在するため、行は完全な複製にはなりません。 MyTable RowID int not null identity(1,1) primary key, Col1 varchar(20) not null, Col2 varchar(2048) not null, Col3 tinyint not null


13
列の変更:nullからnull以外
null可能な整数列がいくつかあるテーブルがあります。これはいくつかの理由で望ましくないため、すべてのnullを0に更新してから、これらの列をに設定しようとしていNOT NULLます。nullを0に変更する以外に、データを保持する必要があります。 列を「」に変更する特定のSQL構文を探しています。nullを含まないようにデータが更新されたと想定します。ColumnAnot null SQL Server 2000の使用。

28
指定した名前の列を含むすべてのテーブルを検索-MS SQL Server
この投稿を改善してみませんか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 列を含むテーブル名をクエリすることは可能ですか? LIKE '%myName%' ?

28
SQL Serverにテーブルが存在するかどうかを確認する
これは、SQLステートメントを使用してSQL Server 2000/2005にテーブルが存在するかどうかを確認する方法についての最終的な議論になりたいと思います。 あなたが答えをググるとき、あなたは非常に多くの異なる答えを得ます。それを行う公式/後方および前方互換性のある方法はありますか? これを行うには、2つの方法があります。2つのうちどちらが標準/最良の方法ですか? 最初の方法: IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='mytablename') SELECT 1 AS res ELSE SELECT 0 AS res; 2番目の方法: IF OBJECT_ID (N'mytablename', N'U') IS NOT NULL SELECT 1 AS res ELSE SELECT 0 AS res; MySQLはシンプルな SHOW TABLES LIKE '%tablename%'; ステートメント。私は似たようなものを探しています。

14
挿入された行のIDを取得する最良の方法?
IDENTITY挿入された行を取得する最良の方法は何ですか? 私が知っている@@IDENTITYとIDENT_CURRENTとSCOPE_IDENTITYが、それぞれに付属の長所と短所を理解していません。 誰かが違いを説明してくれませんか、それぞれをいつ使うべきですか?
1119 sql  sql-server  tsql 

11
SQL Serverで単一引用符をエスケープするにはどうすればよいですか?
9のinsertテーブルにテキストデータを挿入しようとしていますSQL Server。 テキストには単一引用符( ')が含まれています。 どうすればそれを回避できますか? 単一引用符を2つ使用してみましたが、エラーが発生しました。 例えば。 insert into my_table values('hi, my name''s tim.');

13
内部結合でクロス適用を使用する必要があるのはいつですか?
CROSS APPLYを使用する主な目的は何ですか? 私は(漠然と、インターネット上の投稿を通じて)、cross applyパーティション分割している場合に大規模なデータセットを選択する場合により効率的な方法を読んだことがあります。(ページングが頭に浮かぶ) またCROSS APPLY、右のテーブルとしてUDFを必要としないことも知っています。 ほとんどのINNER JOINクエリ(1対多の関係)では、を使用するように書き換えることができましたCROSS APPLYが、常に同等の実行プランが提供されます。 誰もが私がうまくいくような場合にCROSS APPLY違いが出るときの良い例を私に教えてもらえINNER JOINますか? 編集: 以下は、実行プランがまったく同じである簡単な例です。(それらが異なり、どこcross applyがより速く/より効率的かを示してください) create table Company ( companyId int identity(1,1) , companyName varchar(100) , zipcode varchar(10) , constraint PK_Company primary key (companyId) ) GO create table Person ( personId int identity(1,1) , personName varchar(100) , companyId int , …

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