2024年のうちにやっておきたいこと、ここで宣言しませんか?

Oracleのストアドで以下のことを実行したいです。
1.aユーザのaテーブルにあるユーザ情報(=スキーマ名になっています)を取得
2.取得したユーザ情報(=スキーマ名)を元にスキーマ.テーブル名で
 テーブルの情報を参照する
3.スキーマ.テーブル名で参照したテーブルの情報を元に
 他のテーブルのデータを参照する

1については取得できたのですが、2以降を別ストアドで作成して
スキーマ名を引き渡そうかと思ったのですが、実行すると
「表またはビューが存在しません」と表示されます。

実現できる方法をご教授ください。

CREATE OR REPLACE PROCEDURE del_datatbl(con_user IN VARCHAR2, del_date IN DATE)
IS
TYPE cur_typ IS REF CURSOR;
v_inv_cursor cur_typ; -- Declare a cursor variable
v_inv_query VARCHAR2(200);
v_inv_num NUMBER;
v_inv_cust VARCHAR2(20);
v_inv_amt NUMBER;
w_date DATE;

BEGIN
IF(del_date IS NULL) THEN
w_date := ADD_MONTHS(SYSDATE,-18);
ELSE
w_date := del_date;
END IF;


v_inv_query := 'SELECT clm_mjres_MSEQ FROM '
|| con_user
|| '.T_MNGJRES'
|| ' WHERE TO_CHAR(CLM_MJRES_DATE,'|| 'YYYY/MM/DD'
|| ') <= TO_CHAR(w_date,' || 'YYYY/MM/DD' || ')';

DBMS_OUTPUT.PUT(v_inv_query);


OPEN v_inv_cursor FOR v_inv_query USING v_inv_num;
LOOP
FETCH v_inv_cursor
INTO v_inv_num;
DBMS_OUTPUT.PUT(v_inv_num);
EXIT WHEN v_inv_cursor%NOTFOUND;
END LOOP;
CLOSE v_inv_cursor;
END;
.
run
show errors

A 回答 (1件)

シノニムを作るはどうでしょうか?

    • good
    • 0
この回答へのお礼

シノニムも検討してみます。

お礼日時:2009/07/11 13:11

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

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

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


おすすめ情報