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

構造化照会言語(SQL)は、データベースを照会するための言語です。質問には、コード例、テーブル構造、サンプルデータ、使用するDBMS実装(MySQL、PostgreSQL、Oracle、MS SQL Server、IBM DB2など)のタグを含める必要があります。質問が特定のDBMSにのみ関連している場合(特定の拡張機能を使用)、代わりにそのDBMSのタグを使用してください。SQLでタグ付けされた質問への回答には、ISO / IEC標準SQLを使用する必要があります。

8
C#SQL Server-ストアドプロシージャにリストを渡す
C#コードからSQL Serverストアドプロシージャを呼び出しています。 using (SqlConnection conn = new SqlConnection(connstring)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("InsertQuerySPROC", conn)) { cmd.CommandType = CommandType.StoredProcedure; var STableParameter = cmd.Parameters.AddWithValue("@QueryTable", QueryTable); var NDistanceParameter = cmd.Parameters.AddWithValue("@NDistanceThreshold", NDistanceThreshold); var RDistanceParameter = cmd.Parameters.AddWithValue(@"RDistanceThreshold", RDistanceThreshold); STableParameter .SqlDbType = SqlDbType.Structured; NDistanceParameter.SqlDbType = SqlDbType.Int; RDistanceParameter.SqlDbType = SqlDbType.Int; // Execute the query …

9
大規模なDjango QuerySetを繰り返し処理すると、大量のメモリが消費されるのはなぜですか?
問題のテーブルには、約1000万行が含まれています。 for event in Event.objects.all(): print event これにより、メモリ使用量が着実に4 GB程度に増加し、その時点で行が急速に印刷されます。最初の行が印刷される前の長い遅延は私を驚かせました-私はそれがほぼ瞬時に印刷されると思っていました。 私もEvent.objects.iterator()同じように振る舞いました。 Djangoがメモリに読み込んでいるものや、なぜDjangoがこれを行っているのか理解できません。私はDjangoがデータベースレベルで結果を反復処理することを期待していました。つまり、結果は(一定の待機後に一度にすべてではなく)ほぼ一定の速度で出力されます。 私は何を誤解しましたか? (それが適切かどうかはわかりませんが、PostgreSQLを使用しています。)


4
ID列を持つテーブルを作成する方法
ID列をテーブルのID列に設定して作成しなかったため、吹き飛ばそうとしている既存のテーブルがあります。 SQL Server Management Studioを使用して、既存のテーブルの"Create To ..."をスクリプト化し、これを取得しました。 CREATE TABLE [dbo].[History]( [ID] [int] NOT NULL, [RequestID] [int] NOT NULL, [EmployeeID] [varchar](50) NOT NULL, [DateStamp] [datetime] NOT NULL, CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) …
111 sql  sql-server  tsql 

5
Insertコマンドを実行し、SQLで挿入されたIDを返す
MVC 4でC#を使用してSQLテーブルにいくつかの値を挿入しています。実際には、値を挿入して、最後に挿入されたレコードの 'ID'を返します。次のコードを使用します。 public class MemberBasicData { public int Id { get; set; } public string Mem_NA { get; set; } public string Mem_Occ { get; set; } } IDは、挿入時にデータベースで自動的に増分されます。 public int CreateNewMember(string Mem_NA, string Mem_Occ ) { using (SqlConnection con=new SqlConnection(Config.ConnectionString)) { using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ)",con)) { …


2
Postgres:複合キーの方法は?
複合キーを作成する際の構文エラーを理解できません。私は多くの種類をテストしたので、それは論理エラーであるかもしれません。 Postgresで複合キーをどのように作成しますか? CREATE TABLE tags ( (question_id, tag_id) NOT NULL, question_id INTEGER NOT NULL, tag_id SERIAL NOT NULL, tag1 VARCHAR(20), tag2 VARCHAR(20), tag3 VARCHAR(20), PRIMARY KEY(question_id, tag_id), CONSTRAINT no_duplicate_tag UNIQUE (question_id, tag_id) ); ERROR: syntax error at or near "(" LINE 3: (question_id, tag_id) NOT NULL, ^

15
C#を使用したDateTime形式からSQL形式への変換
現在の日付時刻形式をC#から保存し、SQL Serverの日付形式に変換してyyyy-MM-dd HH:mm:ss、UPDATEクエリで使用できるようにしています。 これは私の最初のコードでした: DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss"); 日付の出力は問題ありませんが、時間は常に「12:00:00」なので、コードを次のように変更しました。 string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss"); それは私にこのコンパイルエラーを与えました: FormatExceptionが処理されませんでした そして、私が解析する必要があることを示唆しました。だから私はここStackOverflowで私の研究に従って私のコードにこれをやってみました: string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss"); または string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss"); しかし、これは、特定のコンテキストでは無効なメソッドであることを教えてくれます。私は自分の問題の解決策を探してみましたが、2時間もたってしまいました。私はまだC#で​​少し新しいですが、私を助けてくれますか?
111 c#  sql  datetime 

22
最初に1 = 1を使用するよりも、SQL WHERE句を動的に構築するより良い方法はありますか?
私はいくつかの建物だSQLの C#でクエリを。コードに変数として格納されているいくつかの条件によって異なります。 string Query="SELECT * FROM Table1 WHERE 1=1 "; if (condition1) Query += "AND Col1=0 "; if (condition2) Query += "AND Col2=1 "; if (condition3) Query += "AND Col3=2 "; 動作しますが、1 = 1のテストはエレガントに見えません。使用しなかった場合は、クエリに "where"キーワードが既に追加されているかどうかを毎回覚えて確認する必要があります。 より良い解決策はありますか?
110 c#  sql 

6
MySQL:トランザクションとテーブルのロック
データベースの整合性を確保し、SELECTとUPDATEの同期を維持し、他の接続が干渉しないようにするために、トランザクションとテーブルのロックを少し混同しています。する必要がある: SELECT * FROM table WHERE (...) LIMIT 1 if (condition passes) { // Update row I got from the select UPDATE table SET column = "value" WHERE (...) ... other logic (including INSERT some data) ... } 他のクエリが干渉してそれを実行しないようにする必要がありますSELECT(その接続が行の更新を完了する前に「古い値」を読み取ります)。 私はデフォルトLOCK TABLES tableで、一度に1つの接続のみがこれを実行していることを確認し、完了したらロックを解除することもできますが、それはやり過ぎのようです。トランザクションでそれをラップすることは同じことを行いますか(他の接続がまだ処理している間に他の接続が同じプロセスを試行しないことを保証します)?またはでしょうSELECT ... FOR UPDATEかSELECT ... LOCK IN SHARE MODE良いかも?

9
SQL SELECTの速度intとvarchar
テーブルを作成している最中です。 メイク(たとえば、BMW、アウディなど)がある車を保存すると、メイクをintまたはvarcharとして保存すると、クエリ速度に違いが生じますか? そうです SELECT * FROM table WHERE make = 5 AND ...; より速い/遅い SELECT * FROM table WHERE make = 'audi' AND ...; それとも速度はほぼ同じですか?


8
エラーメッセージから実際のストアドプロシージャの行番号を取得するにはどうすればよいですか?
SQL Serverを使用しているときにエラーが発生すると、エラーメッセージに、ストアドプロシージャの行番号と相関関係のない行番号が表示されます。違いは空白とコメントによるものだと思いますが、本当ですか? これら2つの行番号のセットを相互に関連付けるにはどうすればよいですか?誰かが私に少なくとも正しい方向への指針を与えることができれば、私は本当にそれを感謝します。 SQL Server 2005を使用しています。

9
SQLで列と行を転置する簡単な方法は?
SQLで列と行を単純に切り替えるにはどうすればよいですか?転置する簡単なコマンドはありますか? つまり、この結果を有効にします。 Paul | John | Tim | Eric Red 1 5 1 3 Green 8 4 3 5 Blue 2 2 9 1 これに: Red | Green | Blue Paul 1 8 2 John 5 4 2 Tim 1 3 9 Eric 3 5 1 PIVOT このシナリオでは複雑すぎるようです。
110 sql  sql-server  tsql  pivot 

8
SQL結合とSQLサブクエリ(パフォーマンス)の比較
私がこのような結合クエリを持っているかどうか知りたい- Select E.Id,E.Name from Employee E join Dept D on E.DeptId=D.Id そして、このようなサブクエリ - Select E.Id,E.Name from Employee Where DeptId in (Select Id from Dept) パフォーマンスを検討するとき、2つのクエリのどちらが高速で、なぜですか? また、どちらか一方を優先する必要がある時期はありますか? これが簡単すぎて前に尋ねられたら申し訳ありませんが、私はそれについて混乱しています。また、2つのクエリのパフォーマンスを測定するために使用するツールを提案していただければ幸いです。どうもありがとう!

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