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

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

10
PostgreSQLインデックス使用分析
Postgresを分析し、どの欠落インデックスを作成し、どの未使用インデックスを削除するかを決定するためのツールまたは方法はありますか?SQLServerの「プロファイラー」ツールでこれを行った経験は少しありますが、Postgresに含まれている同様のツールを知りません。

12
OPENQUERYにパラメータを含める
SQLopenquery内で次のようなパラメータを使用するにはどうすればよいですか。 SELECT * FROM OPENQUERY([NameOfLinkedSERVER], 'SELECT * FROM TABLENAME where field1=@someParameter') T1 INNER JOIN MYSQLSERVER.DATABASE.DBO.TABLENAME T2 ON T1.PK = T2.PK

9
mysqlのmax(length(field))
私が言うなら: select max(length(Name)) from my_table 結果は18になりますが、関連するデータも必要です。だから私が言うなら: select max(length(Name)), Name from my_table ...それは動作しません。私はそれを理解することができないと思う自己結合があるはずです。 誰かが私に手がかりを提供できますか?
86 sql  mysql 

5
Oracle Database 11gで新しいスキーマ/新しいユーザーを作成するにはどうすればよいですか?
私は会社でのインターンシップに応募しましたが、質問として、特定の要件を備えた会社のスキーマを作成し、DDLファイルを郵送するように求められました。Oracle Database 11g Express Editionをインストールしましたが、Oracle Database 11gで新しいスキーマを作成するにはどうすればよいですか?ネットで解決策を探しましたが、どうしたらいいのかわかりませんでした。スキーマを作成した後、どのファイルをメールで送信する必要がありますか?

10
SQLServerで同じ例外を再スローする方法
tryブロックで発生したばかりのSQLServerで同じ例外を再スローしたいと思います。同じメッセージをスローできますが、同じエラーをスローしたいと思います。 BEGIN TRANSACTION BEGIN TRY INSERT INTO Tags.tblDomain (DomainName, SubDomainId, DomainCode, Description) VALUES(@DomainName, @SubDomainId, @DomainCode, @Description) COMMIT TRANSACTION END TRY BEGIN CATCH declare @severity int; declare @state int; select @severity=error_severity(), @state=error_state(); RAISERROR(@@Error,@ErrorSeverity,@state); ROLLBACK TRANSACTION END CATCH RAISERROR(@@Error, @ErrorSeverity, @state); この行にはエラーが表示されますが、そのような機能が必要です。これにより、エラー番号50000のエラーが発生しますが@@error、渡したエラー番号をスローしたいのですが、 フロントエンドでこのエラーをキャプチャしたいと思います。 すなわち catch (SqlException ex) { if ex.number==2627 MessageBox.show("Duplicate value …


5
id =(x to y)であるSQLの複数の行を削除する方法
SQLクエリを実行して、テーブル内のIDが163〜265の行を削除しようとしています。 削除する行数を減らすためにこれを試しました DELETE FROM `table` WHERE id IN (264, 265) しかし、一度に数百行を削除する場合、上記の方法に似たクエリはありますか?私もこの種のクエリを使用しようとしていますが、実行できませんでした DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = ) 上記のアクションを実行するためのクエリを教えてください...
86 sql  sql-delete 

2
SQLSELECT複数列INTO多変数
SQLをTeradataからSQLServerに変換しています Teradataでは、次の形式になります SELECT col1, col2 FROM table1 INTO @variable1, @variable2 SQL Serverで、私は見つけました SET @variable1 = ( SELECT col1 FROM table1 ); これにより、ステートメントごとに1つの列/変数のみが許可されます。1つのSELECTステートメントを使用して2つ以上の変数を割り当てる方法は?

9
大きなテーブルでのSQLServerクエリのパフォーマンスを向上させる
比較的大きなテーブル(現在200万レコード)があり、アドホッククエリのパフォーマンスを向上させることが可能かどうかを知りたいです。ここで重要なのはアドホックという言葉です。インデックスを追加することはオプションではありません(最も一般的にクエリされる列にはすでにインデックスがあります)。 単純なクエリを実行して、最近更新された100個のレコードを返します。 select top 100 * from ER101_ACCT_ORDER_DTL order by er101_upd_date_iso desc 数分かかります。以下の実行計画を参照してください。 テーブルスキャンからの追加の詳細: SQL Server Execution Times: CPU time = 3945 ms, elapsed time = 148524 ms. サーバーは、SQL Server 2008 r2 x64を実行する非常に強力です(メモリ48GB ram、24コアプロセッサから)。 更新 このコードは、1,000,000レコードのテーブルを作成するために見つかりました。次にSELECT TOP 100 * FROM testEnvironment ORDER BY mailAddress DESC、いくつかの異なるサーバーで実行して、サーバーでのディスクアクセス速度が遅いかどうかを確認できると思いました。 WITH t1(N) AS (SELECT 1 …

4
MySQL、2つの列を連結します
MySQLテーブルには2つの列があります:SUBJECTとYEAR。 SUBJECTとYEARからの連結データを保持する英数字の一意の番号を生成したいと思います。 これどうやってするの?のような単純な演算子を使用することは可能+ですか?
85 php  mysql  sql 

6
postgresでテーブル(インデックスを含む)をコピーする
postgresテーブルがあります。そこからいくつかのデータを削除する必要があります。一時テーブルを作成し、データをコピーして、インデックスを再作成し、必要な行を削除しました。この元のテーブルがデータのソースであるため、元のテーブルからデータを削除できません。Xの削除に依存する結果を取得する必要がある場合もあれば、Yを削除する必要がある場合もあります。したがって、すべての元のデータが常に存在し、利用可能である必要があります。 ただし、テーブルを再作成して再度コピーし、インデックスを再作成するのは少しばかげているようです。とにかくpostgresに「構造、データ、インデックスを含むこのテーブルの完全な個別のコピーが欲しい」と言うことはありますか? 残念ながら、PostgreSQLには「CREATETABLE .. LIKE X INCLUDINGINDEXES」がありません。


5
group by句では列の順序は重要ですか?
カーディナリティが非常に高い列とカーディナリティが非常に低い列(一意の値の数)の2つの列がある場合、どの順序でグループ化するかは重要ですか? 次に例を示します。 select dimensionName, dimensionCategory, sum(someFact) from SomeFact f join SomeDim d on f.dimensionKey = d.dimensionKey group by d.dimensionName, -- large number of unique values d.dimensionCategory -- small number of unique values それが重要な状況はありますか?

9
条件としてサブクエリを使用したMySQLDELETE FROM
私はこのようなクエリを実行しようとしています: DELETE FROM term_hierarchy AS th WHERE th.parent = 1015 AND th.tid IN ( SELECT DISTINCT(th1.tid) FROM term_hierarchy AS th1 INNER JOIN term_hierarchy AS th2 ON (th1.tid = th2.tid AND th2.parent != 1015) WHERE th1.parent = 1015 ); おそらくおわかりのように、同じtidに他の親がある場合は、1015への親関係を削除したいと思います。ただし、構文エラーが発生します。 You have an error in your SQL syntax; check the manual …

10
JDBCでDATETIME値0000-00-0000:00:00を処理する
やろうとすると例外が発生します(以下を参照) resultset.getString("add_date"); DATETIME値0000-00-0000:00:00(DATETIMEの準NULL値)を含むMySQLデータベースへのJDBC接続の場合、値を文字列としてではなく文字列として取得しようとしていますが、オブジェクト。 私はこれを回避しました SELECT CAST(add_date AS CHAR) as add_date これは機能しますが、ばかげているようです...これを行うためのより良い方法はありますか? 私のポイントは、生のDATETIME文字列が必要なので、そのまま自分で解析できるということです。 注:ここで0000が登場します:( http://dev.mysql.com/doc/refman/5.0/en/datetime.htmlから) 不正なDATETIME、DATE、またはTIMESTAMP値は、適切なタイプの「ゼロ」値( '0000-00-00 00:00:00'または '0000-00-00')に変換されます。 特定の例外はこれです: SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP. SQLState: S1009 VendorError: 0 java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 5 to TIMESTAMP. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at …
85 java  sql  date  jdbc 

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