• 締切済み

oracle8iのストアドについて

ストアドされている、記述を見たいのですがどうすればよいでしょうか、 ちなみに、作成時の資料がなにもない状態です

みんなの回答

  • Rafter
  • ベストアンサー率33% (4/12)
回答No.2

ファンクションとか、パッケージのソースを見たいということでよいですか? でしたら、以下の方法でできると思います。 (見当違いならすみません。) データディクショナリビューのALL_SOURCEを検索する。 これは、DBに登録された全てのソースを表示できます。 (ただし、1レコードにつき、1行となり、見にくいのですが・・・) 例えば、USER=SCOTTが作成した、ファンクションFUNC_Aを 見る場合 SELECT * FROM ALL_SOURCE WHERE OWNER = 'SCOTT' AND TYPE = 'FUNCTION' AND NAME = 'FUNC_A' とします。 ただし、データディクショナリビューの名前の先頭が、 ALLのものは、権限が必要だと思います。 (権限名は忘れてしまいました。すみません。) もし、ALLで使えないのであれば、ALLをUSERに変えて検索すれば、検索できます。 ただし、CONNECTは、ストアドを作成したユーザで行ってください。 また、OWNERという列は、存在しないので、指定する必要はありません。 データディクショナリビューに関しては、 マニュアルに載っていると思いますよ。 参考にしてみて下さい。

  • arata
  • ベストアンサー率49% (139/279)
回答No.1

システムテーブルからSELECTすれば、見れると思いましたが、対象のテーブルを忘れました。 Object Browserと言うツールを使うと簡単にみれますので、そちらを使うのをお勧めします。一ヶ月の試用ができますので、ダウンロードしてみてください。 人に教えてあげたくないくらい(笑い)とても良いツールだと思います。

参考URL:
http://www.sint.co.jp/

関連するQ&A

  • ストアドでのレコード処理

    ストアドの中でSELECT文を発行してその出力結果を元に次のSQL文を作成したいと思っています。そこでSQL文の出力結果をACCESSから呼んだ時の様にRECORD SETの処理の様な記述をしたいと思っています。そこでストアドの中で『SELECT [項目] from XXXX』の [項目]を参照するにはどの様な記述をすればいいのでしょうか。宜しくお願い致します。

  • ストアドから別のストアドを作成できますか?

    パラメータ付きストアドから、そのパラメータを展開したSELECT文のストアドを作成する事は可能でしょうか? アクセスのデータシートビューを表示するにはパラメータがあっても指定出来ないようなんです。 「DoCmd.OpenStoredProcedure」でパラメータ付きのストアドを実行すると、 パラメータ用のインプットボックスが表示されその都度入力しなくてはなりません。 そこで、アクセスから@フィールド名 と @テーブル名 をパラメータとしてストアドを実行し、 ストアドで「SELECT @フィールド名 from @テーブル名」パラメータを展開したSELECT文にして、 別の名前を付けたパラメータ無しのストアドとして登録し、そのストアドを アクセスの「DoCmd.OpenStoredProcedure」で実行すれば、目的のデータシートビューを表示出来ると考えました。 ストアドからストアドを作成できるのでしょうか、可能であれば方法を教えて下さい。

  • ストアドにしたらエラーになる

    10gを使ってます。 1.ワークテーブル作成 2.そのテーブルにインサート の一連のスクリプトをsql/plusかなんかでやると問題ないのに それをストアドにしたら2.の時にテーブルが存在しないと言うことで コンパイルエラーになってしまいます。 こうゆう場合どうすればコンパイルエラーを回避できるのでしょうか? 1.と2.を分割して二つのストアドにしないといけないのでしょうか。

  • カーソルを返すストアドパッケージについて。

    現在PL/SQLを勉強中です。今回 SELECTした結果のカーソルを返すストアドを作成しておりまして いろいろなページを参考にし、なんとか成功しました。 今回作成したカーソルを返すストアドはストアドパッケージで 作成しました。 これをストアドプロシジャーで作成したいのですがこれは プログラム的に可能ですか? ストアドパッケージ→ストアドプロシジャーに変更するのは 特に意味はありませんが実験的に作成しておりますがまったく うまくいかず。。。 技術的に無理なのでしょうか? かなり初心者なので質問の内容がおかしかったらすいません。

  • ストアドファンクションを動作させるためのmy.cnfの設定

    お世話になります。 ある書籍に、ストアドプロシージャやストアドファンクションを作成するには、5.0.16以降ではmy.cnfにlog-bin-trust-routine-creatorsやlog-bin-trust-function-creatorsの記述が必要、と書いてあったのですが、私の環境では、特にこの記述がなく動作しています。 このあたりのことで、何か情報がありましたら、ヒントだけでもけっこうですので、どなたか、お教えいただけないでしょうか。 どうか、よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • ストアドプロシージャ

    ストアド初心者ですが Oracle 9iのストアドプロシージャを作成したいのですが 全くわからず困っています。 とりあえず、以下のテーブルが既に存在し 受注番号がわかっていて、商品名、数量、単価の変更を ストアドプロシージャでおこなうにはどのようにすればよいでしょうか? ご教授お願い致します。 ********************************************** テーブル名:TEST 項目1:受注番号 項目2:商品名 項目3:数量 項目4:単価 項目5:受注日 PS. ストアドのわかりやすい解説書やホームページ お知りの方いらっしゃいましたら、ご教授お願い致します。

  • ストアドプロシージャのSET文について

    SQLserverのストアドで SET @aaaa = NULL って記述は有効なのでしょうか?

  • PostgreSQLでストアドプロシージャについて

    皆さんのお陰でストアドファンクションを作成する事ができました。 ここで1つ、疑問が・・・ ネットでPostgreSQLの「CREATE PROCEDURE」を検索しても私が望んでいる情報を得る事ができませんでした。 申し訳ありませんがここで質問があります。 PostgreSQLで「CREATE PROCEDURE」はないんでしょうか。 PostgreSQLではストアドプロシージャとストアドファンクションは一緒なのでしょうか。 MySQLやSQL Serverではストアドプロシージャとストアドファンクションは別だった気がしますが・・・ ※違っていたらすみません。 どなたか私の疑問を解決していただけませんでしょうか。 宜しくお願いします。

  • Accessプロジェクト ストアドプロシージャでのデータ更新

    AccessのMDBをADPへ作り変えています。 MDBの更新クエリーの場合、「レコードの更新」欄に更新したい値を記述します。たとえば、ユーザー定義関数を使っている場合は、ユーザー関数名([○○○]) ・・・。 これと同じことを、ADPのストアドプロシージャで行う場合はどのようにすればよいのでしょうか? スツアドプロシージャは「デザイナを使用してストアドプロシージャを作成する」を使って作成しています。ここで、「新しい値」欄に ユーザー関数名(○○○) と記述すると、 ”ADOエラー:"ユーザー関数名"は関数名として認識されません” となります。 初めてADPを使用するのでよくわかりません。 以上、よろしくお願いします。

  • ExcelVBAからOracleストアド実行

    Excel:2010 Oracle:10g 接続:ADODB Oracleで質問すべきか、VB側にすべきか迷いましたが、こちらに質問させていただきます。 ExcelVBAからOracleに接続し、ストアドを実行して複数行のデータを取得後 エクセルの各セルに取得データを設定するマクロを作成しております。 コマンドのExecuteを行った後、レコードセットが取得できていないようで 「オブジェクトが閉じている場合は、操作は許可されません」 となってしまいます。 ストアド自身は、Oracle側でエラーなく動いています。 カーソルで取得したデータをエクセル側に渡すには、それ用のOutputの変数(配列?)が必要なのでしょうか? よろしくお願いいたします。 ストアドプロシージャ(一部SELECT文は長いため、省いています) -------------------- CREATE OR REPLACE PROCEDURE A.P930 ( varCD IN VARCHAR2, varDate IN VARCHAR2 ) AS CURSOR C_SIM IS SELECT CD, NAME FROM T WHERE CD = varCD AND CNTRCT_DATE = varDate; SIM_REC C_SIM%ROWTYPE; BEGIN OPEN C_SIM; LOOP FETCH C_SIM INTO SIM_REC; EXIT WHEN C_SIM%NOTFOUND; END LOOP; CLOSE C_SIM; END; / VBA側 Connection接続はOK -------------------- Sub LIST() 変数宣言等省いています Set myCmd = New ADODB.Command With myCmd .ActiveConnection = DBADOCon .CommandType = adCmdStoredProc .CommandText = "P930" .Parameters.Append .CreateParameter("varCD", adVarChar, adParamInput, 3, strLineCd) .Parameters.Append .CreateParameter("varDate", adVarChar, adParamInput, 6, strMonth) Set myRs = New ADODB.Recordset Set myRs = .Execute End With If myRs.RecordCount = 0 Then     ←ここでエラーになります 'エラーメッセージ表示 Exit Sub End I