Oracle

全3478件中141~160件表示
  • オラクルのビューの存在について

    オラクルの単一ビューには関数を含まない、データのグループを含まないという記載が参考書にあったのですが、具体的にどういう状況をいっているのか教えて下さい。 すいません。追加で聞きたいことがありました。 同一データベースの異なるスキーマで、同じ表名を使用できる。 同一スキーマ内で、同じ表名と同義語名を使用できる。 この文言の意味合いもいまいち解せないでいます。 ご教授お願いいたします。

  • オラクル試験でのクラムメディアの的中率について

    オラクルSQL試験をこれから頑張ろうと思っているのですが、クラムメディアという問題集サイトを最近知りました。 このサイトを利用された方に聞きたいのですが、ここでの感想が非常に的中率が高いといわれていることをたくさん拝見したのですが、これは練習問題の内容がということなのでしょうか。それともテストという時間を計った問題が最後にありますがそのテストの的中率ということなのでしょうか。 感想を読んだ限りでは、55問中95%がクラムメディアからでてきたものと書かれていました。 もしくはこのクラムメディアのテスト問題というのは、練習問題のページからランダムに出題されているものなのでしょうか。それとも予想的中問題として別個に用意されている問題なのでしょうか。 よろしくお願いします。

  • オラクルSQLの問題でDECODE関数について

    オラクルSQLの問題でDECODE関数について教えて下さい。 SELECT employee_id, DECODE(department_id,80, DECODE(commission_pct,NULL,'NO COMMISSION', salary * commission_pct), 'NOT SALES'} "COMMISSION" FROM employees; 上記のは 『DEPATMENT_ID列が80の場合でかつCOMMISSION_PCT列がNULL値の場合は「NO COMMISSION」、NULL値でない場合は「SALARY*COMMISSION_PCT」が文字列に変換されて戻されます。また、DEPARTMENT_ID列が80以外の場合は「NOT SALES」が戻されます。』と解説があり、 次に SELECT employee_id, DECODE( NULL IF(commission_pct,NULL), 0,salary * commission_pct, 'NO COMMISSION') "COMMISSION" FROM employees; このコードについては 『DECODE関数が最初に戻す「SALARY*COMMISSION_PCT」が数値型なので、「NO COMMISSION」が数値に変換できないためエラーになります。』 と解説がありました。 正常に実行できるのは前段のもので後段はできないとのことなのですがどうしてかわかりません。 なぜ後段では数値型に変換する必要があるのか、前段では同じsalary*commission_pctが文字列として扱っているのかわかりません。 DECODE関数の DECODE(α、         β、γ          δ) αがβのときはγを戻し、それ以外のときはδを戻すという公式があると思いますが、 もしかしてγとδは同じ型でなければいけないというルールがあるのでしょうか。でもたとえそうだとしてもまだ解せない部分があるのですが・・・。ご教授どうかよろしくお願いいたします。これはオラクルブロンズSQLの参考書の模擬試験にあった問題になります。

  • oracle 11g複製

    現在本稼働しているDBを開発環境構築の為、テーブルを複製したいと考えております。 本環境:Oracle Database 11g 開発環境:Oracle Database 11g Express Edition 全てのテーブルを複製する必要はありません。 SQLのテストのため、Userテーブルを複製したいと考えてます。 必要なテーブルが、30テーブルほどあり内10テーブルは、200万件程度のレコード数があります。 安全かつ、本サーバーに負担の少ない方法はどうしたらよろしいでしょうか? 本環境のSQL sql developerのエクスポート機能で、テーブルを1個づつ出力し、開発環境のSQL developerでインポートを実行すれば、正常に稼働するのでしょうか? MS SQL Serverなら、上記の方法で問題無いのですが、Oracleは初心者の為、全く分かりませんので、ご教授頂けましたら幸いです。

  • PL/SQLについて

    オラクル初心者ですが、他人が作ったSQLのWhere分で下記表記があります。 どういう意味でしょうか? where テーブル1.フィールド名1 = テーブル2.フィールド名1(+) AND テーブル1.フィールド名1 = テーブル3・フィールド名1(+) AND テーブル1.フィールド名1 = テーブル4.フィールド名1(+) AND ・・・・・続く ネットで調べると、結合の書き方のようですが、この場合どういった結合となるのでしょうか? 例えば、通常結合の場合、 SELECT テーブル1.フィールド1, テーブル2.フィールド1, テーブル3,フィールド1 FROM テーブル1 JOIN テーブル2 ON テーブル1.フィールド1=テーブル2.フィールド1 JOIN テーブル3 ON テーブル1.フィールド1=テーブル3.フィールド1 同様と考えてよろしいのでしょうか?

    • ベストアンサー
    • sujino
    • Oracle
    • 回答数1
  • SQL SELECT(Oracle 11g)

    SQLのご質問です(Oracle 11g)。 No 商品 1 A 1 B 1 C 2 A 3 A 3 D 4 E 【下記条件】 Aの商品が含まれている場合対象 また、BとCが混じっていても対象 その他の商品(AとBとC以外)が混じっていると非対象 結果 No 1,2が出力 とのSQLを作成したいのです。 条件が上手く浮かびません。 有識者の方ご享受宜しくお願い致します。

  • PL/SQLでフェッチでNULLの項目について

    PL/SQLで質問があります。 たとえば複数レコードがあり、フェッチで1件ずつ処理する場合、 1件目で値あり、2件目NULLの場合、2件目のフェッチでINTOした変数はNULLが保証されるでしょうか? それとも1件目の値が残ってしまうでしょうか? サンプルでフェッチのループ内で変数の初期化をしない場合でも、NULLで上書きされているようにみえますが、PL/SQLではありませんが以前ProCでNULLの場合は前のレコードの値が残ってしまったため、PL/SQLは上書きが保証されるのかが気になっています(どちらもオラクルなので似た仕様になるのではと懸念)。 グーグル先生に聞いてみましたが、明記されているサイトがみつからず・・・。 ProCはインディケータでNULLを判定するので値の変数にはNULLの場合、何もしないだけでPL/SQLでは特に初期化を気にすることはないのかもしれませんが、仕様として記述されている箇所が見つからないためご存知の方がいらっしゃいましたら教えて頂けると助かります。 具体的には仕事でそういうコーディングになっている箇所があり、直すべきかそのままで問題ないかを検討しています。 現段階ではあまり修正できる状況ではないため、問題にならなければそのままとしたいと考えています。 サンプルの実行結果上は問題なさそうなのですが、できればプラスアルファの情報が欲しく。

  • 10営業日前の日付を取得したい(修正)

    ※連投すみません。削除も修正もできなかったので連投になってしまいました。 一番重要な説明をコピペミスしてしまいました。 明日になれば削除できるようなので古い方は明日削除致しますm(__)m ---ここから--- 今日は9/24という想定で各部署の10営業日前の日付を取得したいのですが良い方法が思いつきません。 (ここ↓を参考にしたらできそうな気がしましたが私の頭では無理でした。。。) http://okwave.jp/qa/q6677209.html 【休日テーブル】 部署コード, 休日 ----------------- busyo1,   9/13 busyo1,   9/14 busyo1,   9/20 busyo1,   9/21 busyo1,   9/23 busyo2,   9/7 busyo2,   9/14 busyo2,   9/21 busyo3,   9/20 【結果】(各部署の10営業日前の日付) 部署コード, 日付 ----------------- busyo1,   9/9 busyo2,   9/12 busyo3,   9/13 このような「発想の転換」が必要な感じのSQLが本当に苦手です。 全然思いつかずに今日も半日を浪費してしまいました。 何かコツのようなものがあるのでしょうか。 お礼は明日の夜になってしまいますが何卒よろしくお願いします。

  • 複数レコードの完全一致

    日本語でどう説明すればもわからないのでタイトルも意味不明ですが 以下のテーブルからプリウスとアクアだけを取り出したいのです。 ○自動車テーブル○ 車名(PK), 連番(PK), 装備,  数量 --------------------------------- プリウス,   1,  エアコン,  2 プリウス,   2,  ブレーキ,  1 アクア ,   1,  ブレーキ,  1 アクア ,   2,  エアコン,  2 レクサス,   1,   テレビ,  3 レクサス,   2,   ビデオ,  2 ノア   ,   1,  ブレーキ,  1 ノア   ,   2,    テレビ,  1 ○取得したい結果○ 車名 -------- プリウス アクア エアコン2個、且つブレーキ1個が装備されている車名を取得したいのです。 ブレーキ1個が装備されているだけのノアはエアコン2個という条件が満たされていないので取得したくありません。 そもそもこのようなことが可能なのかもわからないのですがjava側で処理をするには件数があまりに膨大なので行き詰まっています。 明日、職場からチェックさせていただきます。 お礼は夜になってしまいますが何卒よろしくお願いします。

  • データベース間のデータ移動

    現在様々なデータベースを使用していて、プログラムか何かの方法で、 OracleからMySql等ほかのデータベースにデータを移動することは可能でしょうか。 SELECT A INTO Bではできなかったと思います。 100件くらいの名前データだけなので、いちいちCSVに変換して再ロードするのが面倒です。

    • ベストアンサー
    • noname#252243
    • Oracle
    • 回答数2
  • select for updateのロック

    オラクルのselect for updateでロックをするタイミングがいつですか? こんなPL/SQLのコードがあったとします。 ---↓↓↓ソースコードここから↓↓↓------------------------- select * from テーブル1 where id = 1 for update; ・・・・・(a) ~ update テーブル1 set kingaku=100 where id = 1 ・・・・・(b) ~ commit; ---↑↑↑ソースコードここまで↑↑↑------------------------- id = 1のレコードがロックされるのは(a)、(b)どちらのタイミングですか? また、このロックは ・他トランザクションから読めるけど更新できない ・他トランザクションからは読むことすらできない のどちらでしょうか? よろしくお願いします。

  • oracleのimpdpでORA-39166

    ORALCEのexpdpおよびimpdpの勉強のために自宅環境で操作していたところ、 impdpにてORA-39166(オブジェクトが見つからない)が発生してしまいした。 いろいろ調べてみたのですが、解決に至ってないためお力添えをお願いいたします。 【環境】 OS : linux ※CentOS(64bit) ORALCE11gXE 【やりたいこと】 studyスキーマのTEST1テーブルをexpdpでエクスポート(content=data_only)し、 同じスキーマ内のTEST2テーブルにimpdpにてデータを入れる。 【発生までの操作】 1.expdp system/パスワード@XE directory=test_dir tables=study.TEST1 log=test_exp.log content=data_only 2.impdp system/パスワード@XE directory=test_dir dumpfile=expdat.dmp log=test_imp.log tables=study.TEST2 content=data_only 2の操作をしたタイミングで以下のメッセージ。 ORA-39002: invalid operation ORA-39166: Object STUDY.TEST2 was not found. 【備考】 ・TEST1およびTEST2はまったく同じテーブル構造です。studyユーザで作成してます。 ・STUDY.TEST2は存在します。 (「sqlplus study/パスワード@XE」でログインしdesc TEST2で確認できるため) ・exdpは正常に終了しており、dumpファイルは「expdat.dmp」で作成されています。 以上です。 ご教授のほどよろしくお願いいたします。

  • Oracle Database12Cのインストール

    dr0ulib.sql.sbsが見つかりません。という警告文が出てインストールが終了しないのですが、何が原因なのでしょうか?

  • OUIでのインストールの勉強

    お世話になっています。 Oracle Bronze DBA11g取得の勉強のために Oracle Universal InstallerとDBCAでDBを構築してみたいのですが 以下のURLからファイル1とファイル2をダウンロードすれば練習できるでしょうか? http://www.oracle.com/technetwork/jp/database/database-11g/downloads/index.html 以前一度公式サイトからダウンロードした記憶があるのですが OUIが立ち上がった記憶がないので質問しました。 また、現在の環境はインターネットの回線が遅いためダウンロードに数時間かかると思います。 もしOUIとDBCAのみの勉強で他に簡単な方法がありましたら教えてください。 よろしくお願いします。

  • リレーショナルデータベースにSQLを保存?

    コンピューターを使うには、データ(電子データ)が必要です。CPU、メモリー、グラフィックボード、チップセット、電源、ディスプレーなどが充実していても、データが空なら単なる鉄の塊で、飾るだけです。 データを保存するにはデータベースが必要と聞いた事があります。本当でしょうか?確かに、データベースにデータを保存する事が多そうですが、データベース以外にもデータの保存スペースがある気がします。私の記憶が確かなら、、キャッシュメモリーはデータベースの構成要素の一であり、キャッシュメモリーにデータがあればデータベースにデータがあるという事と聞いた気がする。 色々と記憶が曖昧で、混乱して、このように質問してます。 データベースにも色々ありますが、その王様はリレーショナルデータベースだとよく聞きます。リレーショナルデータベースは、ありとあらゆるデータを保存できて、何にでも活用できるそうです。本当でしょうか? 例えば、リレーショナルデータベースの操作にSQLが使われますが、このプログラム文をリレーショナルデータベースに保存しますでしょうか?私の認識だと、SQLはテキスト形式のSQLファイルで、マイドキュメントなどのフォルダーに保存します。 SQLの他、小説、写真、音声、ビデオ、3次元CADなども、リレーショナルデータベースに保存しますでしょうか? 私の認識だと、リレーショナルデータベースは表(2次元マトリクス)の集合です。表はセルで作られていて、行×列に配置しています。セル1つには、1行文字列、実数(整数と有限少数)、時刻、NULLだけが保存できます。これだと自由度や用途が狭く限られそうですが、セルを膨大に用意できて、これで幅広い自由度を得ます。 リレーショナルデータベースにも小説を保存できる。その方法は、小説を30字区切りで分割し、主キーを振ること。1つのセルに30字の文を保存し、その下に次の30字の文を保存し、これを終わりまで繰り返します。正しいでしょうか? リレーショナルデータベースにも写真を保存できる。先ず、赤表、青表、緑表の3つを用意する。各表のマトリクスサイズは膨大で写真のピクセルがセルに対応し、行×列に配置します。各セルには画素3原色の強度数(0~255だとgif形式だっけ?)を保存する。その後、赤青緑の3表を合成し、ビットマップで出力します。正しいでしょうか? リレーショナルデータベースは銀行でよく使われていて、お金の出入りや顧客管理でリレーショナルデータベースは大活躍しているそうです。だけど、本当はもっと用途が広い? フォルダファイルシステムとデータベースは別物と聞いた事があります。一方で、フォルダファイルシステムの基本はデータベースで、データベースに何かアプリを組み合わせてフォルダファイルシステムが形成されているとも聞いた事があります。どっちが正しいでしょう?どっちも間違い?

  • シーケンス取得について

    AスキーマとBスキーマがあり AにはSというシーケンスが作成されて、GRANTでBに権限付与されています。 BのUSER_SEQUENCESにはもちろん存在しないため、 SELECT MAX_VALUE FROM USER_SEQUENCES WHERE SEQUENCE_NAME でMAX_VALUEの取得でエラーになります。 これを回避する方法ってありますでしょうか?? もしくはBのUSER_SEQUENCES に追加する方法がありますでしょうか? どなたかお願い致します。

  • AUDIT TABLE

    AUDIT TABLEは特定のテーブルに対する監査ではなく、全部のテーブルに対する特定の処理(DDL)を監査するものだという記述を見ました。 しかし、別のところで AUDIT TABLE ON <テーブル名> というSQL文の例を見ました。 これだと特定のテーブルに対する監査になると思うのですが、このSQLはそういう解釈で正しいのでしょうか? また、特定のテーブルに対するすべての操作の監査をするには AUDIT SELECT,INSERT,UPDATE,DELETE,LOCK ON <Schema>.<Object> BY ACCESS; だけではDROPやCREATEが監査できないので不十分でAUDIT TABLEと組み合わせないと無理ということになるのでしょうか? 出展が明記できてなくて申し訳ありません。個人的なblog等ではないので執筆者に問い合わせるなどはできないようです。

  • 端末識別子、セッション識別子、クライアント識別子

    監査について調べています。 監査証跡への出力項目として上の用語が出てくるのですが、いまいち違いがはっきりしません。 具体的にこれらの違い、それぞれ何を指すのか、どのような値が入るのか教えていただけませんでしょうか。また自動的にはいるのか、何か設定していないと入らないのかなど。 差し支えなければ、実際のログの例などから教えていただければ理解しやすいかと思います。 よろしくお願いします。 なお関係するようでしたら、oracle11gサーバはsolaris 端末はwindowsで動作させた場合と想定していただいても結構です。

  • Oracle audit trail

    auditのログが出力先されません。 パラメータは次の通りです。 SQL> show parameter audit audit_file_dest string C:\TEMP audit_sys_operations boolean FALSE audit_syslog_level string audit_trail string OS auditを設定しました。 SQL> audit select on TESTUSER.TESTTABLE; 監査が成功しました。 しかし、次のSQLを実行しても、ログが出力されません(C:\TEMPの中を探しましたが見つかりません)。 SELECT * FROM TESTUSER.TESTTABLE;

  • 行の加算

    続けての質問で失礼します。 特定のカラムの前の行を加算していくということは可能でしょうか? 【カラムA】を元に【カラムB】のような結果を取りたいと考えています。 回答、宜しくお願いします。 【カラムA】 0 1 3 6 7 【カラムB】 0 1 4 10 17