>日付範囲を展開したレコードを作成したい入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。11:46回答数:2件Oracleでストアドパッケージを作っています。2012/07/31こんなデータがあった時、以下のように日付の範囲を展開したレコード群を得たいのですが、やり方が思いつきません。2012/07/01事情により、Typeは使えません。展開後、別途SQLで利用するつもりです。ストアド内だけで実装可能でしょうか?通報するこの質問への回答は締め切られました。14:59Oracleのバージョンが書いていないのですが、10g以降であればmodel句を使って、こんな感じでどうでしょうか。SDATE、EDATEのデータ型が不明なのでDate型と言う前提です。通報するこの回答へのお礼ありがとうございます。試して見たところ、思うようなことができそうでした。意味がわからないので、調べながら応用きかせつつ実装してみようかと思います。R1以降であれば、Pivot(UnPivot)を駆使すれば実現できると思います。通報するこの回答へのお礼ありがとうございます。Pivotを調べてみましたが、どうも駆使の仕方が難しそうなので諦めました・・・。KEYなど制約の定義を見る方法が知りたいです。ストアドをSQL*PLUSで実行したい。回答数ランキングです。職業恋愛アドバイザー・婚活アドバイザーこの専門家の回答をチェック他の専門家の回答をチェックこのQ&Aを見た人が検索しているワード日付Oracleオラクルデータ範囲このQ&Aと関連する良く見られている質問Q日数算出SQLすみません教えてください。DB→Oracle9iで「日付A」と「日付B」の間の日数を表示させようとしているのですが、うまくいきません。参考書などでは、「Months_Between関数」でも試してみたのですが、うまくいきません。単純なやりかたあればおしえていただきたいのですが、よろしくお願いいたします。Aベストアンサーこんにちは。Months_Betweenは、差分を月で表す場合に使います。この場合は1ヶ月未満は小数になってしまいますね・・・。日付だけでいいなら単純に引き算します。2つのDate型の値の差を「分」で取得したいDBはOracleを使用しています。Date型の項目AとBがあり、それぞれ日時が設定されています。そのAとBの日時の差を「分」で取得したいと思います。AとBは、1時間以内の場合もあれば、複数日にまたがる場合もあります。SQLでA-Bで差分は取得できるのですが、その後、どうすれば、「分」に変換できるのかがわかりません。9:00→2日→2880「分」を返却したいAベストアンサーdate型は、整数部で日、小数部で時間を管理しています。1/1440となります。1440とすればいいことになります。他の回答も見るQOracleで流したSQLのログを取得できますか?ASP+Oracle9iで作られたシステムがあります。Oracleの設定などは前任者がしており、まともな引継ぎを受けないまま私が維持運用員となりました。現在DBからあるレコードが消えてしまい(最初から作られてない可能性もあり)、顧客からクレームがついています。状況から考えて怪しいプログラムを調査したのですが、原因不明でした。そこで、Oracleの方で今まで流れたSQLをログとして保存していれば手がかりがつかめるのではないかと思い、情報を探しているのですが見つからないので教えて頂きたいのです。私はOracleの知識(管理面について)が殆どなく、Oracleを使うことはできるが、Oracleの設定がどういう状況になっているか調べることもできず、資料もありません。1.そもそもOracleにSQLをログとして保存する機能があるのか?2.あるとすれば、保存機能が有効になっているか、保存したファイルがどこにあるかをどこで確認できるか?以上の点についてご存知の方、どうぞ回答よろしくお願いします。AベストアンサーOracleのSQL実行痕跡は以下に示すものの中にあります。それぞれの設定レベル、保存方法によって、参照できる範囲は変わります。1.オンラインREDOログとアーカイブログオンラインREDOログはすべてのOracleデータベースに存在します。そのREDOログのサイズとシステムのアクセス量によって保存期間は変化します。アーカイブログ設定しておけば、古いREDOログはアーカイブとして吐き出されます。これらは#1の方がおっしゃったLOGMINERで実行済みSQLを調査することができます。アーカイブログモードになっているかどうかは、下記で確認できます。v$database;また、どのアーカイブログファイルを調査するかは下記を参照すれば良いと思います。v$archived_log;2.フラッシュバック問い合わせこれは初期化パラメータUNDO_MANAGEMENTがAUTOに設定されており、かつUNDO_RETENTIONが保存期間として適切に設定されている場合のみ使用できます。やっていることは、UNDO表領域(旧RBS用表領域)の中に残っている実行履歴を参照しています。したがって、データベース設計時にフラッシュバック問い合わせを前提としていない限り、使える可能性は低いです。監査を実行していれば、実行SQLを取得できる可能性があります。監査レベルなどを理解しておかないと、すべてのSQLが取得されていない可能性がありますので、難しいかもしれません。OracleのSQL実行痕跡は以下に示すものの中にあります。それぞれの設定レベル、保存方法によって、参照できる範囲は変わります。1.オンラインREDOログとアーカイブログオンラインREDOログはすべてのOracleデータベースに存在します。そのREDOログのサイズとシステムのアクセス量によって保存期間は変化します。アーカイブログ設定しておけば、古いREDOログはアーカイブとして吐き出されます。これらは#1の方がおっしゃったLOGMINERで実行済みSQLを調査することができま...続きを読む他の回答も見るQSQL、2つのテーブルで条件一致したものだけdeleteする方法は?オラクルSQLで質問ですやりたいことは、テーブルAから以下の条件に該当するデータを削除する。基本的にはテーブルBの内容と比較して、一致したもの。2つ書いて実現できるようです。今回はオラクルなので文法エラーになります。table_bwhere指定の条件)他の回答も見るQシンボルが見つかりませんというエラーが理解できません。以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。msg="あなたの負け";}}}以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。「シンボルを見つけられません。」というエラーの下に何か表示がありませんでしたか?そこにヒントがあると考えられます。シンボルを見つけられませんといエラーが表示される主な理由は4つあります。(1)クラス、メソッド、変数などの綴りミスや定義していない変数を使用している可能性がある。(2)コンストラクタを呼び出すときに、newを忘れている可能性がある。(3)公開されていないメンバーを呼び出している可能性がある。(4)必要なimport文を記述し忘れている可能性がある。ここでのあなたのエラーは(1)番ではないでしょうか?上記ではimageとなっている変数がimgになっていますね。これはエラー表示をよく見ることで意外と簡単に解決できるのです。丁寧にエラー表示を見るように心がけることが大事ですよ。D1上記のようなテーブルがあります。これを下記のようにSQLでまとめたいですが可能でしょうか。ありましたら、サンプルSQLをご教示いただけませんでしょうか。D1お手数をお掛けしますが、なにとぞよろしくお願いいたします。肝は「注文オプション表」ですよね。「注文オプション表」を「tb1」で読み替えて以下SQLを見てください。さんが期待する結果にはさらに副問い合わせを使って注文表と結合する必要がありますが、まぁなんとか1SQLで書けると思います。同一注文番号のデータがあまりにも多い場合は以下SQLは少し苦しいですね。あと、Oracleに限定したSQLであることも少し不満が残りますが参考にどうぞ。?期待した結果でしたか?肝は「注文オプション表」ですよね。「注文オプション表」を「tb1」で読み替えて以下SQLを見てください。さんが期待する結果にはさらに副問い合わせを使って注文表と結合する必要がありますが、まぁなんとか1SQLで書けると思います。同一注文番号のデータがあまりにも多い場合は以下SQLは少し苦しいですね。あと、Oracleに限定したSQLであることも少し不満が残りますが参考にどうぞ。values(...続きを読む他の回答も見るQバッチでテキストファイルから任意の行のみ取得したいbatファイルを作成していて、txtから特定の行のみをとりだし、変数に入れたいです。わからないので質問したいと思います。以下の様なテキストファイルがあります。-------------------111222333-------------------実際の値、行数は違いますが、こんな感じに文字列が複数行並んでいます。Text=222)4.変数Textを使用し色々処理をする-----------------------------------------コレを繰り返します。2と4は同じ動作ですので、行数のカウンタを設定しループさせる予定です。n行目を全て取り出す方法がわかれば行けると思うのですが、どうも見つかりません。ご存知の方がいればお教え願いたいと思います。batファイルを作成していて、txtから特定の行のみをとりだし、変数に入れたいです。わからないので質問したいと思います。以下の様なテキストファイルがあります。-------------------111222333-------------------実際の値、行数は違いますが、こんな感じに文字列が複数行並んでいます。"^3:"で3行目を表示してくれます。