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

Microsoft SQL Serverは、リレーショナルデータベース管理システム(RDBMS)です。このタグは、Compact、Express、Azure、Fast-track、APS(以前のPDW)、Azure SQL DWを含むすべてのSQL Serverエディションに使用します。他のタイプのDBMS(MySQL、PostgreSQL、Oracleなど)には、このタグを使用しないでください。データベースに直接関連している場合を除き、このタグをソフトウェアやモバイル開発の問題に使用しないでください。

9
SQL DeveloperでSQL Serverストアドプロシージャを実行する方法
ストアドプロシージャを実行する権限しか持たないSQL Serverデータベースへのユーザーアカウントが与えられました。JTDS SQL Server JDBC jarファイルをSQL Developerに追加し、それをサードパーティJDBCドライバとして追加しました。SQL Serverデータベースに正常にログインできます。プロシージャを実行するための次の構文が与えられました。 EXEC proc_name 'paramValue1' 'paramValue2' これをステートメントまたはスクリプトとして実行すると、次のエラーが発生します。 Error starting at line 1 in command: EXEC proc_name 'paramValue1' 'paramValue2' Error report: Incorrect syntax near the keyword 'BEGIN'. ステートメントをでラップしようとしましBEGIN/ENDたが、同じエラーが発生します。SQL Developerからプロシージャを呼び出すことはできますか?その場合、どの構文を使用する必要がありますか?


30
データベースをアタッチするとアクセスが拒否される
SQL Server 2008開発者版を使用しています。AdventureWorks2008データベースをアタッチしようとしていました。 添付しようとすると、「アクセスが拒否されました」というエラーが表示されました。イベントログによると、それはO / Sからのものです。 開くのに失敗しました:ファイル番号0のファイルD:\ ProjectData \ AdventureWorks \ AdventureWorksLT2008_Data.mdfを開けませんでした。OSエラー:5(アクセスが拒否されました。) 「NTFSの問題」だと思いましたが、システム(および私)は両方のファイルへの変更アクセス権を持っています。 saとしてログインすると、データベースを正常に接続できることがわかりましたが、ユーザーアカウントが機能しません。 私は自分のマシンのローカル管理者グループのメンバーであり、SQL Serverインスタンスのsysadminsロールに属しています。 なぜsaとしてログインしなければならなかったのですか?

9
SQL Serverのユーザー定義関数からエラーを報告する方法
私はSQL Server 2008でユーザー定義関数を書いています。関数は通常の方法でエラーを発生させることができないことを知っています。RAISERRORステートメントを含めようとすると、SQLは次を返します。 Msg 443, Level 16, State 14, Procedure ..., Line ... Invalid use of a side-effecting operator 'RAISERROR' within a function. しかし、実際には、関数は何らかの入力を受け取りますが、これは無効である可能性があり、そうである場合、関数が返す意味のある値はありません。それから私は何をしますか? もちろん、NULLを返すこともできますが、関数を使用する開発者がこれをトラブルシューティングするのは困難です。また、ゼロによる除算またはそのようなものを引き起こす可能性があります-これはエラーメッセージを生成しますが、誤解を招くものです。自分のエラーメッセージを何らかの方法で報告させる方法はありますか?

18
SQLサーバーでNULL = NULLがfalseと評価されるのはなぜですか
SQLサーバーnullParam=NULLでは、where句を使用 している場合、常にfalseと評価されます。これは直観に反しており、多くのエラーを引き起こしています。IS NULLとIS NOT NULLキーワードが正しい方法であることを理解しています。しかし、なぜSQLサーバーはこのように動作するのでしょうか。
146 sql  sql-server  null 


5
Select UniqueとSelect Distinctの違い
これらは同義語だと思いましたが、Microsoft SQLで次のように書きました。 Select Unique col from (select col from table1 union select col from table2) alias そして、それは失敗しました。に変更 Select Distinct col from (select col from table1 union select col from table2) alias 修正しました。誰かが説明できますか?
145 sql  sql-server 

6
複数のID値を受け入れるT-SQLストアドプロシージャ
IDのリストをパラメーターとしてストアード・プロシージャーに渡すことを処理する適切な方法はありますか? たとえば、ストアドプロシージャによって部門1、2、5、7、20が返されるようにしたいとします。過去に、以下のコードのように、コンマで区切られたIDのリストを渡しましたが、それを行うのは本当に汚い感じがします。 SQL Server 2005は私の唯一の適用可能な制限だと思います。 create procedure getDepartments @DepartmentIds varchar(max) as declare @Sql varchar(max) select @Sql = 'select [Name] from Department where DepartmentId in (' + @DepartmentIds + ')' exec(@Sql)

12
MySQLとSQL Serverの違い[終了]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私はASP.NET開発者でありMicrosoft SQL Server、私のデータベースのすべてのニーズ(仕事中と個人プロジェクトの両方)に使用しています。 私の個人的なプロジェクトのいくつかについて、LAMPスタックを試すことを検討しています。 主な違いのいくつかは何ですかMySQLとはSQL Server?使用しているストアドプロシージャでは一般的にMySQL? 移行を支援するためのアドバイスやリソースはありますか? 両方の経験がある人にとって、不足している機能はありMySQLますか?
144 mysql  sql-server  tsql 

8
クエリを使用して一時テーブルにデータを挿入する
現在のデータを出力する既存のクエリがあり、それを一時テーブルに挿入したいのですが、そうすることでいくつか問題があります。これを行う方法について誰かが洞察を持っていますか? ここに例があります SELECT * FROM (SELECT Received, Total, Answer, ( CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END ) AS application FROM FirstTable WHERE Recieved = 1 AND application = 'MORESTUFF' GROUP BY CASE WHEN application LIKE '%STUFF%' THEN 'MORESTUFF' END) data WHERE application LIKE isNull('%MORESTUFF%', '%') これは私のデータを現在必要な方法で出力しているようですが、一時テーブルに渡したいのですが。私の問題は、SQLクエリにかなり慣れていないため、その方法を見つけることができなかったことです。またはそれさえ可能なら。それが不可能な場合、探しているデータをWHERE application LIKE …
144 sql  sql-server  ssms 

11
SQL Server:2つのテーブルに同時に挿入することは可能ですか?
私のデータベースにはObject_Table、Data_Tableおよびという3つのテーブルが含まれていますLink_Table。リンクテーブルには、オブジェクトレコードのIDとデータレコードのIDの2つの列が含まれています。 私はからデータをコピーするDATA_TABLEことは、1つの与えられたオブジェクトIDにとにレコードを挿入し、対応するリンクされている場所Data_TableとLink_Table異なる特定のオブジェクト識別のために。 これを行うには、テーブル変数を選択し、反復ごとに2つの挿入を実行してループします。 これはそれを行うための最良の方法ですか? 編集:私は2つの理由でループを回避したいと思います。1つ目は怠惰で、ループ/一時テーブルにはより多くのコードが必要であること、より多くのコードはミスをする場所が多くなることを意味します。2つ目はパフォーマンスに関する懸念です。 すべてのデータを1回の挿入でコピーできますが、リンクテーブルを取得して、各レコードに新しいIDがある新しいデータレコードにリンクするにはどうすればよいですか?

9
CTEとSubQueryの違いは?
この投稿から次の手順でROW_NUMBERを使用するにはどうすればよいですか? 回答には2つのバージョンがあり、1つはa sub-queryを使用し、もう1つはa を使用しCTEて同じ問題を解決します。 さてCTE (Common Table Expression)、「サブクエリ」よりも使用することの利点は何ですか(したがって、クエリが実際に行っていることをより読みやすくします) 使用しての唯一の利点CTEを超えるにはsub-select、私が実際にできることである名前を付けますsub-query。CTEが単純な(再帰的でない)CTEとして使用される場合、これら2つの間に他の違いはありますか?

13
SQL Serverで複数の列を一度に変更する方法
ALTERテーブルのいくつかの列のデータ型が必要です。 単一の列の場合、以下は正常に機能します。 ALTER TABLE tblcommodityOHLC ALTER COLUMN CC_CommodityContractID NUMERIC(18,0) しかし、1つのステートメントで複数の列を変更するにはどうすればよいですか?以下は機能しません。 ALTER TABLE tblcommodityOHLC ALTER COLUMN CC_CommodityContractID NUMERIC(18,0), CM_CommodityID NUMERIC(18,0)

11
レコードが存在するかどうかを確認する最速の方法
タイトルが示すように...レコードがテーブルに存在するかどうかを判断するために、オーバーヘッドを最小限に抑えて最速の方法を見つけようとしています。 サンプルクエリ: SELECT COUNT(*) FROM products WHERE products.id = ?; vs SELECT COUNT(products.id) FROM products WHERE products.id = ?; vs SELECT products.id FROM products WHERE products.id = ?; 言う?と交換される'TB100'...第1および第2の両方のクエリは(...と言うまったく同じ結果を返します。1この会話のため)。最後のクエリは'TB100'期待どおりに返すかid、テーブルにない場合は何も返しません。 目的はid、テーブルにあるかどうかを把握することです。そうでない場合、プログラムは次にレコードを挿入します。そうである場合、プログラムはそれをスキップするか、この質問の範囲外の他のプログラムロジックに基づいてUPDATEクエリを実行します。 どちらが速く、オーバーヘッドが少ないですか?(これはプログラムの実行ごとに数万回繰り返され、1日に何度も実行されます)。 (M $提供のJDBCドライバーを介してJavaからM $ SQL Serverに対してこのクエリを実行)


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