タグ付けされた質問 「sql-server-2005」

MicrosoftのSQL Serverの2005バージョンに固有の質問には、このタグを使用します。


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それが可能かどうかはわかりません。

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%'; ステートメント。私は似たようなものを探しています。

9
結合を使用したSQL更新クエリ
3つのテーブルの結合によって返される値でフィールドを更新する必要があります。 例: select im.itemid ,im.sku as iSku ,gm.SKU as GSKU ,mm.ManufacturerId as ManuId ,mm.ManufacturerName ,im.mf_item_number ,mm.ManufacturerID from item_master im, group_master gm, Manufacturer_Master mm where im.mf_item_number like 'STA%' and im.sku=gm.sku and gm.ManufacturerID = mm.ManufacturerID and gm.manufacturerID=34 mf_item_numberテーブルのフィールド値を更新したいitem_master上記の条件で結合された他の。 MS SQL Serverでこれを行うにはどうすればよいですか?

14
一時テーブルが存在するかどうかを確認し、存在する場合は一時テーブルを作成する前に削除します。
次のコードを使用して、一時テーブルが存在するかどうかを確認し、存在する場合はテーブルを削除してから再作成します。列を変更しない限り、問題なく動作します。後で列を追加すると、「列が無効です」というエラーが表示されます。私が間違っていることを教えてください。 IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results CREATE TABLE #Results ( Company CHAR(3), StepId TINYINT, FieldId TINYINT, ) select company, stepid, fieldid from #Results --Works fine to this point IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results CREATE TABLE #Results ( Company CHAR(3), StepId TINYINT, FieldId TINYINT, NewColumn …

15
ステートメントの「INSERT INTO…」の部分を繰り返さずに複数の行を挿入しますか?
私は数年前にこれを行ったことを知っていますが、構文を思い出せず、大量のヘルプドキュメントや「バルクインポート」に関する記事が表示されるため、どこにあるかわかりません。 これが私がしたいことですが、構文は正確ではありません...以前にこれを行ったことがある人、私を助けてください:) INSERT INTO dbo.MyTable (ID, Name) VALUES (123, 'Timmy'), (124, 'Jonny'), (125, 'Sally') これは正しい構文に近いことを知っています。そこに「BULK」という言葉が必要かもしれませんが、覚えていません。何か案が? SQL Server 2005データベースにはこれが必要です。私はこのコードを試しましたが、役に立ちませんでした: DECLARE @blah TABLE ( ID INT NOT NULL PRIMARY KEY, Name VARCHAR(100) NOT NULL ) INSERT INTO @blah (ID, Name) VALUES (123, 'Timmy') VALUES (124, 'Jonny') VALUES (125, 'Sally') SELECT * FROM …


28
FOREIGN KEY制約によって参照されているため、テーブルを切り捨てられませんか?
MSSQL2005を使用して、最初に子テーブル(FK関係の主キーを持つテーブル)を切り捨てた場合、外部キー制約でテーブルを切り捨てることができますか? 私はどちらかができることを知っています DELETEwhere句なしでRESEEDIDを使用してから、ID(または) FKを削除し、テーブルを切り捨てて、FKを再作成します。 親の前に子テーブルを切り捨てている限り、上記のいずれのオプションも実行しなくても大丈夫だと思いましたが、次のエラーが発生します。 FOREIGN KEY制約によって参照されているため、テーブル 'TableName'を切り捨てることはできません。

8
インデックスを作成するときにINCLUDE句を使用する理由
70-433試験の勉強中に、次の2つの方法のいずれかでカバーインデックスを作成できることに気付きました。 CREATE INDEX idx1 ON MyTable (Col1, Col2, Col3) -または- CREATE INDEX idx1 ON MyTable (Col1) INCLUDE (Col2, Col3) INCLUDE句は私にとって新しいものです。なぜそれを使用し、INCLUDE句の有無にかかわらずカバリングインデックスを作成するかを決定する際にどのようなガイドラインを提案しますか?

7
SQL Serverクエリ-DISTINCTでのCOUNT(*)の選択
SQL Server 2005には、運用環境に配置されたすべてのコードをリストするテーブルcm_productionがあります。このテーブルには、ticket_number、program_type、program_name、およびpush_numberとその他の列があります。 目標:すべてのDISTINCTプログラム名をプログラムタイプとプッシュ番号でカウントする これまでのところ: DECLARE @push_number INT; SET @push_number = [HERE_ADD_NUMBER]; SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] FROM cm_production WHERE push_number=@push_number GROUP BY program_type これは途中で私を取得しますが、それはすべてのプログラム名を数えています。明確なものではありません(そのクエリでそれを行うことは期待していません)。個別のプログラム名のみを選択してカウントせずにカウントするように指示する方法に頭を悩ませることはできないと思います。か何か。


19
SQLで「ゼロ除算」エラーを回避する方法
私はこのエラーメッセージを持っています: メッセージ8134、レベル16、状態1、行1ゼロで除算エラーが発生しました。 このエラーメッセージが二度と表示されないようにSQLコードを作成する最良の方法は何ですか? 次のいずれかを実行できます。 where句を追加して、除数がゼロにならないようにします または ゼロの特別な扱いがあるように、ケースステートメントを追加できます。 NULLIF句を使用する最良の方法はありますか? より良い方法はありますか、またはこれをどのように実施できますか?

10
Microsoft SQL Server 2005でgroup_concat MySQL関数をシミュレートしますか?
MySQLベースのアプリをMicrosoft SQL Server 2005に移行しようとしています(選択ではありませんが、それは人生です)。 元のアプリでは、ほぼ完全にANSI-SQL準拠のステートメントを使用しましたが、1つの重要な例外があります。MySQLのgroup_concat関数をかなり頻繁に使用しました。 group_concatところで、これを行います。たとえば、従業員の名前とプロジェクトのテーブルが与えられた場合... SELECT empName, projID FROM project_members; 戻り値: ANDY | A100 ANDY | B391 ANDY | X010 TOM | A100 TOM | A510 ...そして、これがgroup_concatで得られるものです: SELECT empName, group_concat(projID SEPARATOR ' / ') FROM project_members GROUP BY empName; 戻り値: ANDY | A100 / B391 / X010 TOM | …


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