はじめての親子ハイキングに挑戦!! >>

現状のテーブルのデータのINSERT文を作りたいのですが、確かObject Browserでできたような気がするのですが。。。

その機能って確か、テーブルスクリプト出力って言うような気がしました。

ヘルプを見ても、なぜか「スクリプト出力」っていうタイトルはあるのですが、肝心なドキュメントが表示されません。

テーブルスクリプト出力ってどうすればできましたでしょうか?教えてください。

Object Browser環境
バージョン8.0.3.8

このQ&Aに関連する最新のQ&A

A 回答 (2件)

リクエストがあったので再度の投稿です。


今使ってないので、ちょっと自信がないのですが・・・

確か・・・出力させたいテーブルを選択(複数可)して、
右クリックで出るポップアップメニューにスクリプト出力って
やつがあったと思うんですが・・・

間違ってたらごめんなさい。
    • good
    • 0
この回答へのお礼

ありがとうございました<(_ _)>

右クリックだったのですねorz
気づきませんでした。

とても助かりました。

お礼日時:2006/05/11 09:23

システムインテグレータのオンラインヘルプに乗ってます。


念のため、URL貼っときますね。

http://www.sint.co.jp/siob/online9/ob90vol3.html …
(中断くらいのテーブルスクリプト出力時データも出力する(INSERT)
にチェックしているのがポイントです。)

この回答への補足

ご回答ありがとうございます。返事が送れて申し訳ありません。
重ねて質問をさせて下さい。

紹介いただいたURLで「スクリプト出力」ウィンドウを表示してあるのですが、その「スクリプト出力」ウィンドウはどの手順で表示させればいいのでしょうか?

メニューバーからのコマンドを舐めるように見ているのですが、見つからないのです。

どうぞ、よろしくお願いします。

補足日時:2006/05/10 15:36
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qオブジェクトブラウザでデータをエクスポート/インポートする方法

オブジェクトブラウザでは、アクセスのようにデータをコピーしてエクセルに張り、編集してDBに張る、ということはできないのでしょうか?

オブジェクトを右クリック⇒エクスポート、とすると、EXP80.EXE実行エラーになっります。。。

Aベストアンサー

オブジェクトブラウザでのエクスポート機能は、オラクル標準機能である
エクスポートを実行する意味です。
(オラクルのデータセーブ形式なので、中身のデータ形式は非公開)

で、accessのようなデータのコピペですが、データを表示している状態で、
マウスでセルの左上のところをクリックすると、全体が選択状態になると思います、
この状態で、CTRL+Cすれば、クリップボードへコピーされます。
また、第一行目の第一列目のセルを編集状態で、CTRL+Vすれば、
クリップボードの内容がペーストされます。
ただし、これでうまくいくかどうかは、クリップボードに格納されているデータ次第なので、
必ずしもうまくいくとは限りません。

コピーの方は、うまくいかないようなら、左側にあるEXCEL出力のツールアイコンがあるので、
それを使っても良いと思います。

QOracle(オラクル)で、日付時刻型の検索方法について

質問させていただきます。
データベースはオラクルを使っていて、
SQL文で、抽出するときにエラーが出て困っています。

日付時刻型が「2005/05/26 19:13:00」という感じで入ってます。
2005/05/26 を抽出したいのですが、
BETWEEN '2005/05/26 00:00:00' AND '2005/05/26 23:59:59'

だと、エラーでできません。
どなた様か、ご教授よろしくお願いしますm(_ _)m

Aベストアンサー

日付検索を行う場合は、以下のように書式を含める必要があります。

col BETWEEN TO_DATE('2005/05/26 00:00:00','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('2005/05/26 23:59:59','YYYY/MM/DD HH24:MI:SS')

ただ、厳密には

col >= TO_DATE('2005/05/26', 'YYYY/MM/DD')
AND
col < TO_DATE('2005/05/27', 'YYYY/MM/DD')

と書くべきでしょうね。

QSELECTで1件のみ取得するには?

こんにちわ。
いまORACLE9iを使用している者です。

ACCESSでは
SELECT TOP 1 項目名 FROM テーブル名
ORDER BY 項目名;
で並べ替えたデータ群のうち,先頭の1件だけを
取ることができますが,
ORACLEでそのような機能(SQL)はあるでしょうか?
教えてください。
よろしくお願いします。

Aベストアンサー

order by と rownum を併用する場合は注意が必要です。

[tbl01]
cola | colb
------------
1000 | aaaa
1001 | bbbb

というデータがある場合、
select cola from tbl01 where rownum < 1 order by cola desc;
とすると、「1001」ではなく、「1000」が返されます。
これは、order by の前に rownum < 1 が適用されてしまうからです。

解決するには、
select aaa from (select cola aaa from tbl01 order by cola desc) where rownum = 1;
とすれば良いです。

QObjectBrowserでエクスポート

お世話になります。

ObjectBrowserでエクスポート実行の設定に関する質問です。
テーブルのバックアップをしたいのですが、exp.exeパスの指定の方法で悩んでいます。

・パスの入力場所はOB/管理/エクスポート/オプション(タブ)の使用ツールで合っているか
・exp.exeはclientの$ORACLE_HOME/bin配下にあるものでいいのか

です。
見るところが間違えているのか、clientの$ORACLE_HOME/bin配下にexpではじまるものがありませんでした。

・となると、hostの$ORACLE_HOME/bin配下にあるexpというものがそうなのでしょうか。
・またその場合の指定の仕方は環境がunixなので例えば /a00/oracle/bin/exp という記述でいいのでしょうか。

以上、パスの記述場所、記述内容についての質問です。

/a00/oracle/bin/expという記述で実行してみたのですが、

「/a00/oracle/bin/expは実行できません」というエラーのあとに
「ファイル***\EXP.LOGは開けません。指定されたファイルが見つかりません」と出てしまいます。。


心当たりのあるかたがいらっしゃいました、ご回答いただけると幸いです。

お世話になります。

ObjectBrowserでエクスポート実行の設定に関する質問です。
テーブルのバックアップをしたいのですが、exp.exeパスの指定の方法で悩んでいます。

・パスの入力場所はOB/管理/エクスポート/オプション(タブ)の使用ツールで合っているか
・exp.exeはclientの$ORACLE_HOME/bin配下にあるものでいいのか

です。
見るところが間違えているのか、clientの$ORACLE_HOME/bin配下にexpではじまるものがありませんでした。

・となると、hostの$ORACLE_HOME/bin配下にあるexpというもの...続きを読む

Aベストアンサー

こんにちは。

まずObjectBrowserですが、クライアント端末上で稼動するアプリケーションである事は理解されていますか?。
つまり回答は、クライアントにインストールされたOracle Client に含まれる exp.exe を利用(指定)して exp します。

次に $ORACLE_HOME 配下の BIN に exp.exe が存在しないという事ですが、単純に Oracle Client をインストールしただけではインストールされません。
カスタムインストールするか、管理者インストールを行わないと、そのツールは利用出来ないはずです。

この辺りの説明はOracle インストールガイドに掲載されている項目です。 一度、熟読される事をお勧めします。

最後に蛇足ですが、開発者なら最低でも、インストール環境,Oracle Version,ObjectBrowserのVersion 位は提示しましょう。

参考まで。

QOracleで「文字が無効です」のエラーが出ます

Oracleで「文字が無効です」のエラーが出ます

JavaからOracleに接続して、SELECT文を発行していますが、何度試しても上記のエラーが出ます。
発行しているSELECT文を、SQLPlusから打ち込むとちゃんと実行できます。
何が悪いのか見当がつきません。
お知恵をお貸しください。
ちなみに、対象テーブルの項目はvarchar2とnumberだけの項目ばかりで、日本語は使ってません。
また、Oracle初心者です。

環境
端末:WindowsXP
Oracle:10g Express Edition ※文字コードはAL32UTF8
IDE:Eclipse3.5 ※設定-一般-ワークスペースのテキストファイルエンコードはUTF-8

Aベストアンサー

Java内で生成したSQL文を見ないとなんとも言えないけど。

Javaでリテラル吐き出して編集してますかね?
select UserID, UserName from mstUser where UserID = '001'; みたいな。
条件によって 001 の部分を変化させるような。


だったらJavaでシングルクォートを吐き出すところを二重にしてみるとどうかな?
ダブルクォートでは無いよ。二重に書くことでシングルクォート一個と解釈されればOKのはず。

そうしておかないとSQL文全体を文字列で扱うんだろうから、シングルクォートの対応が崩れる。

つくりとしては以下のように作成。
select UserID, UserName from mstUser where UserID = ''001''; みたいな。

SQL文を文字列変数に格納するんだろうから
'select UserID, UserName from mstUser where UserID = ''001'';'

Q3つの表の外部結合

表A、B、Cの3つがあり、Aのすべての行を出力したいと考えています。
外部結合を用いるのだとは思うのですが、3つの表に対して行う場合の
書き方がわからず困っています。
ご教授いただけないでしょうか?
select * from a,b,c
where a.商品ID =b.商品ID (+) and b.商品ID (+) =c.商品ID (+)
としてみましたが、うまくいきませんでした。

Aベストアンサー

ansi構文の趣旨からいえば、結合条件と絞り込み条件は分けて書くので・・

select *
from a
left join b on (a.商品ID =b.商品ID)
left join c on (b.商品ID =c.商品ID)
where a.年月 = 任意の値

と書くのが一般的でしょうね。

Qストアドプロシージャの出力について

ストアドプロシージャを出力したいと思っているのですが
オブジェクトブラウザからですと、対象のSPを選択し、スクリプト出力することで
ファイル出力できると思いますが、
sqlplusなどから、同様にファイル出力を行うことは可能でしょうか?

初歩的なご質問で恐縮ですが
ご回答頂けると大変助かります。

よろしくお願い致します。

Aベストアンサー

> ストアドプロシージャを出力したいと思っているのですが
> オブジェクトブラウザからですと、対象のSPを選択し、スクリプト出力することで

出力と言っているのが、「ソースの出力」なのか「実行結果の出力」なのかが不明ですが、「オブジェクトブラウザのスクリプト出力」なので前者であろうと想定して回答します。

> sqlplusなどから、同様にファイル出力を行うことは可能でしょうか?

はい。可能です。

オブジェクトブラウザも内部的には、ALL_SOURCEやDBA_SOURCEなどのディクショナリからソースを取得していると思われますので、同じ事をすればよいだけです。

以下のSQLを実行して SPOOL すればテキストに保存できます。
実行時のSET文にはちょっと工夫が必要です。

SET HEAD OFF;
SET PAGES 0;
SET LINES 300;
SET TRIMS OFF;
--↑他にもあったかもしれませんが、とりあえずこんな感じで。

ACCEPT TARGET_SP_NM PROMPT ストアドプロシージャ名入力:
ACCEPT TARGET_SP_OWNER PROMPT 所有スキーマ名入力:

SPOOL &TARGET_SP_NM..sql

-- &TARGET_SP_NM
SELECT TEXT FROM ALL_SOURCE
WHERE NAME = UPPER('&TARGET_SP_NM')
AND OWNER = UPPER('&TARGET_SP_OWNER')
ORDER BY LINE;

SPOOL OFF;


「ソースの出力」ではなく「実行結果の出力」であれば、

EXECUTE SP_XXXX(&引数 ...);

などで実行できます。
(※OUTパラメータを使う場合は、無名PL/SQLブロックを使う必要があります)

SPOOL の方法は同様なので、上記を参考にしてください。

> ストアドプロシージャを出力したいと思っているのですが
> オブジェクトブラウザからですと、対象のSPを選択し、スクリプト出力することで

出力と言っているのが、「ソースの出力」なのか「実行結果の出力」なのかが不明ですが、「オブジェクトブラウザのスクリプト出力」なので前者であろうと想定して回答します。

> sqlplusなどから、同様にファイル出力を行うことは可能でしょうか?

はい。可能です。

オブジェクトブラウザも内部的には、ALL_SOURCEやDBA_SOURCEなどのディクショナリからソースを取得...続きを読む

Qbatファイルからsql文実行

クライアントOS:WIN2000
Oracle:9i(サーバ(UNIX)上にあります)

現在、クライアントからbatを起動し、SQL文を投げ、結果を取得したいと思っております。
(SQL文は単純にTBLをカウントしているだけです)

・batの中身
sqlplus %UID%/%PASS%@%SID% @test.sql > output

結果は取得出来るのですが、余分な情報も結果に出力されてしまいます。結果のみを出力させるにはどうすればよろしいでしょうか?

・余分な情報
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
に接続されました。

Aベストアンサー

sqlplus に -S オプションを追加してみればどうでしょうか。

参考URL:http://biz.rivus.jp/sqlplus_overview.html

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分

Q実行計画の「COST」と「BYTE」について教えていただきたいです。

実行計画の「COST」と「BYTE」について教えていただきたいです。

書籍には
COST・・・・CBOによって見積もられた操作コスト。
BYTE・・・・アクセスされるバイト数のCBOのアプローチによる見積もり。
と書かれていますが、いまいちピンときません。


私は、
COSTは、検索するテーブルのデータ量が多いほうがコスト値が大きくなる。
BYTEは、検索条件に合致して取得できるデータが多いほうがバイト値が大きくなる。
と思っているのですが、正しいでしょうか?

Aベストアンサー

このあたりを参考にしてください。
COSTはデータ量だけではなく、その表やViewのアクセスに要する時間やSortや結合が必要なら、そのために必要なCPU時間等も考慮されています。
表があるHDDのアクセス速度なんかも考慮されているし、表のエクステントが複数になっているかとかも考慮されています。
書籍はわかりにくいかもしれませんが、嘘は少ないと思います。著者が思い違いをしてないとは言い切れませんが。

参考URL:http://otn.oracle.co.jp/forum/message.jspa?messageID=35016743


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング