Как выбрать объект в pl sql и проверить валиден или нет. Под объектом может быть например функция или процедура.
SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME LIKE '%SOMENAME%'
Общую информации о функции узнали, а вот как посмотреть код функции в ORACLE? Наиболее распространены два способа. Либо получить по строкам кода, либо сразу весь текст в тип данных (CLOB).
Способ 1
SELECT text FROM ALL_SOURCE WHERE NAME='SS' ORDER BY line;
Способ 2
select dbms_metadata.get_ddl('FUNCTION', 'F_NAME') from dual;
А как удалить функцию в PL SQL? Пример кода ниже
DROP FUNCTION function_name;
Как узнать какие таблицы есть в базе данных oracle? Для этого воспользуемся запросом, выводящий информацию по всем таблицам:
SELECT * FROM ALL_TABLES;
Использование псевдоколонки ROWNUM . Rownum показывает номер выбранной записи, таким образом чтобы выбрать 5 записей, применяем запрос к oracle:
SELECT * FROM some_table WHERE rownum <= 5
Выбрать системное время и перевести его в другой формат
SELECT TO_CHAR(SYSDATE, 'DD/MM/YYYY') FROM DUAL
Посмотреть структуру таблицы в PLSQL
SELECT column_name FROM user_tab_cols WHERE table_name = 'TABLE_NAME'
Узнать версию оракла можно так. Полезно когда хотите применить какую-нибудь фишку из новой версии.
SELECT * FROM v$version;
Узнать размер базы данных в гигабайтах
SELECT SUM (bytes) / 1024 / 1024 / 1024 AS GB FROM dba_data_files;
Сгенерировать случайное число между 1 и 100,
SELECT ROUND (DBMS_RANDOM.VALUE () * 100) + 1 AS random_num FROM DUAL;
Узнать много ли записей в таблице можно разными способами (например используя агрегатную функцию COUNT ), а вот если требуется узнать есть ли вообще записи, то наиболее эффективный запрос будет таким:
SELECT 1 FROM TABLE_NAME WHERE ROWNUM = 1;
Как проэкранировать кавычку в Oracle? Например использовать оператор q, пример:
dbms_output.put_line(q'[I'm О'Коннор]');
Узнать валиден ли тот или иной объект, например пакет
SELECT object_name, object_type, status FROM user_objects where obj_name = 'some_obj'