Как отсортировать таблицы Oracle по времени их изменения - PullRequest
0 голосов
/ 21 марта 2019

Я очень новичок в Oracle и мне нужно отсортировать таблицы по времени их последнего изменения. Это называется DML, я думаю, но я не уверен в этом. Извините, если об этом спрашивают раньше или невозможно сделать.

Edit: Я пытаюсь получить некоторые данные из прекращенного приложения. Но в этой базе более 600 таблиц. Приложение все еще использует эту базу данных. Так что, если я внесу некоторые изменения в приложение. Например, я могу дать какое-то разрешение пользователю. Затем я запусту SQL, который я ищу, и увижу одну таблицу, которая изменена (данные внутри) в верхней части результата. Поэтому я пойму, какая таблица содержит какие данные. Извините за мой английский.

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Не могли бы вы объяснить, что вы на самом деле имеете в виду?

Что такое "таблицы сортировки"?Вы сортируете данные в таблицах, а не в самих таблицах, если только вы не запрашиваете (например) USER_OBJECTS и хотите отсортировать таблицы в своей схеме по LAST_DDL_TIME (это время, когда эта таблица последний раз изменялась (изменялась).пример:

SQL> alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss';

Session altered.

SQL> select object_name, last_ddl_time
  2  from user_objects
  3  where object_type = 'TABLE'
  4  order by last_ddl_time;

OBJECT_NAME                    LAST_DDL_TIME
------------------------------ -------------------
SALGRADE                       19.04.2018 08:15:27
DEPT                           10.12.2018 08:58:24
EMP                            10.12.2018 08:58:25
BONUS                          17.12.2018 07:11:10
EMPLOYEES                      20.12.2018 08:32:22

Если речь идет о сортировке строк в таблице, то:

SQL> select empno, ename, hiredate
  2  from emp
  3  order by hiredate;

     EMPNO ENAME      HIREDATE
---------- ---------- -------------------
      7369 SMITH      17.12.1980 00:00:00
      7499 ALLEN      20.02.1981 00:00:00
      7521 WARD       22.02.1981 00:00:00
      7566 JONES      02.04.1981 00:00:00

Если это что-то еще, что это такое?

1 голос
/ 21 марта 2019

Если вы ищете модификации DML:

select * from SYS.ALL_TAB_MODIFICATIONS where TABLE_OWNER = 'YOUR_SCHEMA_NAME' order by TIMESTAMP;


Если вы ищете модификации DDL:

select * from SYS.ALL_OBJECTS where OWNER = 'YOUR_SCHEMA_NAME' and OBJECT_TYPE = 'TABLE' order by LAST_DDL_TIME;


Если вы просто хотитесортировать данные из таблицы:

select * from YOUR_TABLE order by COLUMN_NAME; -- or multiple column names
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...