概要: Oracle データベースに新しく追加されたテーブルをクエリするには、データ ディクショナリ ビューを使用する方法、DBA_OBJECTS ビューをクエリする方法、時間範囲フィルタリングを指定する方法の 3 つがあります。フラッシュバック クエリを使用する: FLASHBACK_TABLE 疑似テーブルを使用し、タイムスタンプ クエリを指定します。ログ ファイル クエリを使用する: Oracle REDO ログ ファイルを解析し、テーブルを作成して列を追加する行をフィルタリングします。
#Oracle データベースに新しく追加されたテーブルをクエリする方法
方法 1: データ ディクショナリ ビューを使用する
の使用ビュー:
<code class="sql">SELECT TABLE_NAME, CREATED FROM DBA_OBJECTS WHERE OBJECT_TYPE = 'TABLE' AND CREATED >= TO_DATE('2023-03-01', 'YYYY-MM-DD') -- 指定一个日期范围 ORDER BY CREATED DESC;</code>
方法 2: フラッシュバック クエリの使用
疑似テーブル:
<code class="sql">SELECT * FROM FLASHBACK_TABLE('SCHEMA_NAME'.'TABLE_NAME', TIMESTAMP '2023-03-01') ORDER BY CREATE_TIME DESC;</code>
方法 3: ログ ファイルの使用
<code class="sql">SET SERVEROUTPUT ON; DECLARE sql_text VARCHAR2(4000); BEGIN FOR logfn IN (SELECT MEMBER FROM V$LOG) LOOP DBMS_OUTPUT.PUT_LINE('Reading log file: ' || logfn); FOR line IN (SELECT LINE FROM V$LOGFILE(logfn) WHERE INST_ID = (SELECT INST_ID FROM V$INSTANCE) ORDER BY SEQ) LOOP IF line LIKE '%CREATE TABLE%' OR line LIKE '%ALTER TABLE ADD COLUMN%' THEN DBMS_OUTPUT.PUT_LINE('New table created: ' || line); END IF; END LOOP; END LOOP; END; /</code>
以上がOracle データベースに追加された新しいテーブルをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。