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

Oracle Databaseは、Oracle Corporationによって作成されたマルチモデルデータベース管理システムです。JavaやMySQLなど、Oracleが所有する他の製品にはこのタグを使用しないでください。

10
Oracleのテーブル/列/インデックス名が30文字に制限されているのはなぜですか?
何年も前にこのような制限があったことは理解できますが、今日では確かにこの制限を簡単に増やすことができます。オブジェクトには命名規則がありますが、特に外部キーの命名では、この制限に達した場合に必ず発生する場合があります。 これがそれほど大きくない理由を誰かが実際に知っていますか?それとも11gでもっと大きいのですか? どうやら答えは、防御的にコーディングされていない現在のスクリプトを壊すということです。これは非常に心配なことだと私は言います、Oracleはデータベースいます、確かにこれはあなたが絶えず改善しなければならない種類のことです。 社内でこの種の異議を目にするときはいつでも、弾丸を噛んで整理する時がきたと思います。Oracleのバージョンをアップグレードするときにチェックも保守もしないスクリプトを実行している場合は、その選択の結果に苦しむことになります。サイズが4000までの互換性フラグを提供すると、名前が「OK」であることを確認するために常に30まで数える必要があるオブジェクトを作成する際の無駄な時間を節約できます。
149 oracle  oracle10g  size 

8
ORA-00979式によるグループ化ではありません
次のクエリでORA-00979を取得しています。 SELECT cr.review_sk, cr.cs_sk, cr.full_name, tolist(to_char(cf.fact_date, 'mm/dd/yyyy')) "appt", cs.cs_id, cr.tracking_number from review cr, cs, fact cf where cr.cs_sk = cs.cs_sk and UPPER(cs.cs_id) like '%' || UPPER(i_cs_id) || '%' and row_delete_date_time is null and cr.review_sk = cf.review_wk (+) and cr.fact_type_code (+) = 183050 GROUP BY cr.review_sk, cr.cs_sk, cf.fact_date, cr.tracking_number ORDER BY …
147 sql  oracle  ora-00979 

8
Oracleのブールフィールド
昨日、ブール値フィールドをOracleテーブルに追加したいと思いました。ただし、Oracleには実際にはブールデータ型はありません。ここの誰かがブール値をシミュレートする最良の方法を知っていますか?対象をグーグルすることはいくつかのアプローチを発見しました 整数を使用し、0または1以外のものを割り当てないでください。 2つの値として「Y」または「N」の文字フィールドを使用します。 列挙型とCHECK制約を使用します。 経験豊富なOracle開発者は、どのアプローチが推奨/標準的であるか知っていますか?

5
Oracle SELECT TOP 10レコード
OracleのSQLステートメントに大きな問題があります。他の選択ステートメントからリストにないSTORAGE_DBで注文された上位10件のレコードを選択したい。 これはすべてのレコードで正常に機能します。 SELECT DISTINCT APP_ID, NAME, STORAGE_GB, HISTORY_CREATED, TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') AS HISTORY_DATE FROM HISTORY WHERE STORAGE_GB IS NOT NULL AND APP_ID NOT IN (SELECT APP_ID FROM HISTORY WHERE TO_CHAR(HISTORY_DATE, 'DD.MM.YYYY') = '06.02.2009') しかし、私が追加しているとき AND ROWNUM <= 10 ORDER BY STORAGE_GB DESC なんらかの「ランダム」レコードを取得しています。制限は注文の前に行われるためだと思います。 誰かが良い解決策を持っていますか?その他の問題:このクエリは非常に遅い(1万レコード以上)
144 sql  oracle  top-n 

9
SQL文字列でのアンパサンド文字のエスケープ
SQLデータベースで特定の行を名前で照会しようとしていますが、アンパサンドがあります。エスケープ文字を設定してからアンパサンドをエスケープしようとしましたが、何らかの理由でこれが機能せず、問題が正確に何であるか不明です。 Set escape '\' select * from V1144engine.T_nodes where node_id in( select node2_id from V1144engine.T_edges where node1_id in( select node2_id from V1144engine.T_edges where node1_id in( select node2_id from V1144engine.T_edges where node1_id = (select node_id from V1144engine.T_nodes where node_name = 'Geometric Vectors \& Matrices'))) and edge_type_id = 1) and node_type_id = …
143 sql  oracle  escaping  sqlplus 


15
外部キーとそれらが参照するテーブルのリスト
テーブルの外部キーとそれらが参照するテーブルと列のリストを返すクエリを見つけようとしています。私はそこにいる途中です SELECT a.table_name, a.column_name, a.constraint_name, c.owner FROM ALL_CONS_COLUMNS A, ALL_CONSTRAINTS C where A.CONSTRAINT_NAME = C.CONSTRAINT_NAME and a.table_name=:TableName and C.CONSTRAINT_TYPE = 'R' しかし、どのテーブルと主キーがこのキーによって参照されているかを知る必要があります。どうすれば入手できますか?

7
精度とスケールの違いは何ですか?
Oracleの精度とスケールの違いは何ですか?チュートリアルでは通常、主キーを作成するときにスケールを空のままにし、精度を6に設定します。 精度とスケールは何を表していますか?
141 oracle  types 

5
Oracle SQLでの日付の比較
1994年6月20日以降に採用された従業員数を表示しようとしていますが、「JUN」の無効な識別子というエラーが表示されます。助けてください、ありがとう! Select employee_id, count(*) From Employee Where to_char(employee_date_hired, 'DD-MON-YY') > 31-DEC-95;
141 sql  oracle 

10
C#を使用して.SQLスクリプトファイルを実行する方法
この質問にはすでに回答されていると思いますが、検索ツールを使用して回答を見つけることができませんでした。 c#を使用して.sqlファイルを実行したい。sqlファイルには複数のsqlステートメントが含まれており、その一部は複数の行に分かれています。私はファイルを読み取ってODP.NETを使用してファイルを実行しようとしましたが、ExecuteNonQueryは実際にこれを行うように設計されているとは思いません。 したがって、プロセスの生成を介してsqlplusを使用しようとしましたが、UseShellExecuteをtrueに設定してプロセスを生成しない限り、sqlplusはハングして終了しません。動作しないコードは次のとおりです。 Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "sqlplus"; p.StartInfo.Arguments = string.Format("xx/xx@{0} @{1}", in_database, s); p.StartInfo.CreateNoWindow = true; bool started = p.Start(); p.WaitForExit(); WaitForExitは決して戻りません.... UseShellExecuteをtrueに設定しない限り。UseShellExecuteの副作用は、リダイレクトされた出力をキャプチャできないことです。
140 c#  sql  oracle  scripting 

14
Oracle SQL Developerでのパスワードの変更
ユーザーの多くはSQLPlusを使用していません。ユーザーに変更を与えることはできません。パスワードは60日ごとに期限切れになります。 SQLPlusコマンドの「パスワード」をSQL開発者で機能させることができません。 実行すると、無効なコマンドエラーが発生する スクリプトを実行しても、何も起こりません。 データベースがたくさんあるので、パスワードを変更するパッケージを書きたくありません。より良いオプションはありますか?

5
Oracle SQL Developerでtnsnames.oraを使用します
Oracle SQL Developerを評価しています。 私tnsnames.oraが入力tnspingされ、で定義された接続への接続がtnsnames.ora正常に機能します。それでも、SQL Developerは接続を表示しません。 Oracle SQL Developer Soarsによると、 Oracleクライアントソフトウェアとtnsnames.oraファイルがマシンにすでにインストールされている場合、Oracle SQL Developerは、tnsnames.oraで定義されたネットサービス名から接続ナビゲーターを自動的に生成します。 TNS_ADMIN環境変数も設定しようとしましたが、SQL Developerを再起動した後も接続が表示されません。 何か案は? SQL Developerとtnsnames.oraをうまく使っている人はいますか?

3
Oracleを使用してSELECT INTO
Oracleを使用してSELECT INTOを実行しようとしています。私のクエリは: SELECT * INTO new_table FROM old_table; しかし、私は次のエラーを受け取ります: SQL Error: ORA-00905: missing keyword 00905. 00000 - "missing keyword" 何か悪い点はありますか? 上記の標準的な動作は、私が当初考えたとおりである必要があります。ただし、OracleはSQLの独自の方言でまったく異なる方法で実装し ました。挿入時のOracle Docs ...選択
134 sql  oracle  ora-00905 

5
Oracleで予約語をエスケープするにはどうすればよいですか?
TSQLではSelect [table] from tablename、「テーブル」という名前の列を選択するようなものを使用できます。 Oracleで予約語に対してこれを行うにはどうすればよいですか? 編集:私は角括弧、二重引用符、単一引用符、および逆引用符を試してみましたが、機能しません... さらなる明確化として、私は誰かがコメントと名付けたコラムを持っています。これは予約語であるため、オラクルはそれを使って選択しようとするふらふらと動揺し、クエリの解析時に失敗します。テーブル名から「コメント」を選択しようとしましたが、うまくいきませんでした。ケースをチェックして戻ってきます。

10
変数を宣言して同じOracle SQLスクリプトで使用する方法
再利用可能なコードを書きたいので、最初にいくつかの変数を宣言し、スクリプトでそれらを再利用する必要があります。 DEFINE stupidvar = 'stupidvarcontent'; SELECT stupiddata FROM stupidtable WHERE stupidcolumn = &stupidvar; 変数を宣言して、SQLDeveloperを使用する場合など、後続のステートメントで再利用するにはどうすればよいですか。 試み DECLAREセクションを使用し、次のSELECTステートメントをBEGINandに挿入しますEND;。を使用して変数にアクセスします&stupidvar。 キーワードDEFINEを使用して変数にアクセスします。 キーワードVARIABLEを使用して変数にアクセスします。 しかし、試行中にすべての種類のエラー(Unbound変数、構文エラー、予期されるSELECT INTO...)が発生します。

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