Вопросы с меткой [plsql]
PL/SQL (Procedural Language/Structured Query Language) язык программирования, процедурное расширение языка SQL, разработанное корпорацией Oracle. Вопросы о PL/SQL следует так же помечать тегом "oracle".
743
вопроса
0
голосов
1
ответ
40
показов
Найти, выбрать и убрать дубликаты в pl/sql
Необходимо в строке найти слово "ГГБ" и показать результат , убирая дубликаты
Строки с данными
;;;ГГБ62252ЦДБ62252ГГБ62251Г-ка162252ГГБ62252Г-ка462252Г-ка562252Г-ка662252Г-ка762252Г-...
0
голосов
0
ответов
31
показ
Разбить колонку на 6 столбцов в plsql
Необходимо разбить колонку на 6 столбцов. Точки с запятыми с ; - ;;;;;;; указывают границы. В 5 столбце нужно учитывать следующее правило - между ;;;; и ;;;;; где DЦЦБ необходимо брать B50787.
...
0
голосов
0
ответов
56
показов
Пакет для склонения ФИО по падежам
Всем привет, есть у кого пакет или функция для склонения ФИО по падежам в oracle
0
голосов
1
ответ
30
показов
PL\SQL Функция не выводит текст
помогите пожалуйста, функция должна выводить либо номер телефона либо текст 'Нет телефона', телефон выводит а текст нет, помогите разобраться что не так :(
return VARCHAR2 is
pnumber VARCHAR2(100);
...
0
голосов
1
ответ
68
показов
Необходимо составить SQL запрос с использованием оператора CASE и сравнить разницу в днях
Есть таблица:
IDname
Date1
Date2
1234
31.08.2023
09.10.2023
1122
08.08.2023
08.08.2023
Необходимо вывести значение 1 если:
1- даты равны
2- разница между датами 1 и 2 составляет 31 день.
Вот что ...
0
голосов
0
ответов
23
показа
Oracle apex вывод clob в classic report
Всем привет, задача стоит в том, что бы сделать чат в Oracle apex. Я нашёл статью как делают чат на classic report с шаблоном комментариев. Почти всё работает, кроме одной вещи, он выводит сообщения ...
0
голосов
0
ответов
68
показов
Как передать ссылку на курсор в переменную, а затем использовать его? Как избежать повторения? Oracle PL/SQL
Есть примерно такой код:
PROCEDURE PROC (CONDITION VARCHAR2)
CURSOR C1
IS
SELECT * FROM TABLE1;
CURSOR C2
IS
SELECT * FROM TABLE2;
CURSOR C3
IS
SELECT * FROM ...
0
голосов
1
ответ
82
показа
Как выбрать строки из таблицы, сравнивая их с данными из Excel таблицы?
Возникла следующая задача: у меня есть Excel файл с набором значений (300+ штук). Мне нужно из таблицы БД Oracle выбрать строки, у которых поле содержит значение из Excel таблицы. Как это сделать? В ...
0
голосов
0
ответов
69
показов
Oracle ошибка при парсинге json
Есть ресурс к которому обращаюсь по API и получаю ответ в виде JSON. Там есть пагинация и на странице 30 заявок, нужно получить заявки с 700 страниц. Код написал и он отрабатывает, но в рандомный ...
0
голосов
0
ответов
25
показов
Как преобразовать Date в Raw ? На PL/Sql
Существует процедура dbms_stats.convert_raw_value, которая может преобразовать Raw в Date. А как наоборот преобразовать значение типа Date в Raw ?
Oracle Database 11g.
-1
голос
2
ответа
45
показов
Проблемы чисел с плавающими точками, энтропия
Представим себе следующую ситуацию
У нас есть 4 столбца
Сумма без ндс -> sum_wo_tax
Сумма с ндс -> sum_w_tax
Определитель, облагается ли ндс -> is_wo_nds
Исключена ли данная сумма (учитываем ...
2
голоса
2
ответа
58
показов
Двухуровневый древовидный запрос
Существуют следующие вводные
Таблица (в рабочем примере выглядит как запрос)
CREATE TABLE your_table_name (
m_id NUMBER,
name VARCHAR2(255),
ind NUMBER
);
Данные
INSERT INTO your_table_name (...
1
голос
0
ответов
38
показов
Oracle. Инкремент обращений к пакету
В пакете есть несколько процедур. Они могут вызываться отдельно, а могут вызываться последовательно в одном блоке:
begin
proc_1;
proc_2;
end;
Надо при каждом таком обращении к пакету, производить ...
0
голосов
0
ответов
17
показов
Raise_application_error
В триггере таблицы есть обработка событий, откуда должен срабатывать Raise_application_error(-20000, 'Ошибка!'). На уровне базы, эта ошибка срабатывает всегда, а в Oracle APEX по настроению). ...
0
голосов
0
ответов
21
показ
Долго отрабатывает конвейерная функция на Oracle
Имею табличную функцию на Oracle 19с, которую вызываю таким образом: SELECT * FROM TABLE(pkg_wapp_assistant.f_wapp_assistant_calc(in_id_calc => 1, in_id_request => 24))
При тестировании получаю ...
0
голосов
0
ответов
39
показов
SQL Помещение запроса в функцию PL/SQL
Есть SQL-запрос, который определяет максимальное и минимальное время между событиями:
SELECT CONCAT(person.NAME, ' ', person.PATRONYMIC) AS Worker, MIN(DATEDIFF(SDATE, LDATE)+1) AS mindiff, MAX(...
0
голосов
1
ответ
85
показов
парсинг xml файлов в pl/sql
Ребят, нужна помощь в понимаю парсинга xml файлов. Суть задачи: есть таблица условно [Table_request], реквизиты также условно дата подачи запроса, статус .... и реквизит [xml_data] изначально в типе ...
0
голосов
0
ответов
46
показов
Написать триггер и функцию на pl/sql
Есть таблица cars с атрибутами id, location_id(внешний ключ на атрибут id другой таблицы location). Я хочу написать функцию и триггер, которые будут работать так -при попытке обновить location_id у ...
0
голосов
0
ответов
27
показов
Неиспользуемые хранимые процедуры и функции в пакете
За огромный промежуток времени в конкретном пакете хранимых процедур собралось куча мусорных процедур и функций, мы не можем вероятно сказать что из этого используется и давно не вызывалось.
...
0
голосов
2
ответа
54
показа
Аналитика изменения параметров oracle sql
Подскажите как лучше реализовать запрос.
Дана таблица на большое число строк:
Article
Par1
Editor
Date
Apple
kg
Ivanov
26.01.01 12:20
Apple
mg
Sidorov
25.01.01 13:01
Apple
mg
Sidorov
25.01.01 12:...
0
голосов
1
ответ
43
показа
Почему запрос выдает отчет с перекрестными значениями как с cross join?
нужно чтоб было 4 записи а выдает аж 16
SELECT
b.PAYMENT_ID,
b.DESTINATION_ID,
b.PAY_SUM,
b.COMMISSION,
b.PAY_DATE,
s.EXTERNAL,
s.ADR,
s.FIO,
...
0
голосов
0
ответов
103
показа
Нужно вытащить данные в формате xml из столбца clob в туже таблицу
У меня есть таблица oracle с разными данными и в нем есть столбец clob, где хранятся данные в формате xml, мне нужно вывести все данные из xml в таблицу.
пример xml файла:
<?xml version="1.0&...
0
голосов
1
ответ
118
показов
pl/sql фильтрация like
Есть две таблицы: table1 и table2.
Table1 содержит в себе номер аккаунта и "в грязную" написанные имя пользователя, город и сокращенное название города.
Table2 содержит в себе название ...
0
голосов
0
ответов
38
показов
В цикле не подставляется новое значение в переменную
Всем привет, при выполнении данного кода в UPDATE не подставляется второй параметр 5833644, в rec.id почему-то повторно попадает значение 5833643
declare
id_ number;
ses_log_ ...
0
голосов
1
ответ
61
показ
Мониторинг транзакций от сессии ODAC
Имеются компоненты ODAC, в процессе работы программы исполняется куча различных хранимых процедур и запросов, они хранятся как транзакция в ожидании commit или rollback внутри одной сессии. Существует ...
0
голосов
0
ответов
22
показа
Объявление закольцованных функций в Oracle Database
Допустим есть функций PROCESS_OPERATOR и PROCESS_WHERE. В теле PROCESS_OPERATOR вызывает функцию PROCESS_WHERE, а та вызывает опять PROCESS_OPERATOR для рекурсивного обхода XML. При попытке создать ...
1
голос
1
ответ
63
показа
Есть ли IDE для pl/sql (oracle кода) с поддержкой иерархии методов?
У меня есть много pl/sql кода с хранимыми процедурами, такими что одна процедура вызывает другую. То есть, процедуры (они же методы, функции) находятся в иерархии, как в типичном си-подобном языке.
...
0
голосов
2
ответа
123
показа
Почему при фильтрации по двум коллекциям, время выполнения увеличивается в разы и запрос очень долго работает? При обычном IN такого не наблюдается
Дано: Таблица в которой 6 млн записей. Надо собрать некую статистику за квартал. В квартал попадают 650 тысяч строк.
В процедуру приходят параметры фильтрации данных. Некоторые из них передаются в ...
0
голосов
0
ответов
80
показов
Regexp для удаления <> внутри элементов XML
Имеется сlob (Oracle) с XML
Часть данных "испорчена", т.е. содержит символы <> внутри элементов, например:
<Text>Адрес получателя: <[email protected]>; ФИО; почта2 <user2@...
-1
голос
1
ответ
34
показа
Цикличное заполнение отсутствующих записей
Представим две таблицы с таким набором данных.
Таблица Table_s Характеризует собой вид продукта, мы будем рассматривать яблоко.
CREATE TABLE table_s(
s_id number,
s_value varchar(200)
);
INSERT ...
1
голос
2
ответа
109
показов
Как вычленить нужную информацию с переменной длиной из сплошной строки SQL
Помогите с вопросом:
есть база данных с такими данными:
в строке подряд зашиты данные, которые мне нужны
XWID - личный номер, XDEV - витрина, XZON- зона, XPHN - телефон, три следующие цифры после ...
1
голос
2
ответа
88
показов
Хочу функцию в Oracle для удаления дубликатов из строки
Есть строки с IP адресами, например
Слева то есть сейчас, справа то хочу получить на выходе
192.168.0.2 >> 192.168.0.2
192.168.0.120;192.168.0.120 >> 192.168.0.120
192.168.0.160;192.168.0....
0
голосов
0
ответов
21
показ
Проверить нет ли записей для строки согласно периоду дат в другой таблице для этого периода дат
Прошу помочь в решении запроса: есть 2 таблицы - ORDER (заказы по товарам) и PROMO (акции по товарам). Есть такой пример, где мы можем проверить не попадает ли товар на день заказа в акцию:
SELECT *
...
1
голос
1
ответ
21
показ
Ограничение значения при создании таблицы Oracle
Необходимо для столбца amount задать значение от 1 до 15, чтобы не было возможности внести в таблицу значения с другим количеством.
0
голосов
2
ответа
100
показов
Как связать данные нескольких столбцов и вставить их в новый столбец одной и той же таблицы
У меня есть таблица где есть данные, но теперь нужно добавить новый столбец (я отдельно добавил ее - new_column) и в нее вставить запись собранной из других столбцов той же таблицы, пытался сделать ...
1
голос
0
ответов
66
показов
Ошибка последовательности передачи параметров в хранимую функцию из sql запроса
имеется хранимая функция:
CREATE OR replace FUNCTION test (n1 NUMBER , n2 NUMBER , n3 NUMBER )
RETURN NUMBER
AS
BEGIN
RETURN to_number (to_char (n1) ||to_char (n2) ||to_char (n3));
END;
Функция ...
0
голосов
1
ответ
65
показов
Создать диапазон из дат
Помогите пожалуйста собрать одинокие даты в отдельные диапазоны по условию,что даты должны идти друг за другом,если не идут,то начинается другой диапазон. Пример дат:
with cte as (
select to_date ('01....
0
голосов
1
ответ
57
показов
Конвертация данных в PL/SQL
Есть два запроса, связанные UNION, выдающие результат в формате char, необходимо их сложить.
Результаты выглядят в виде времени, например, "00:02:55" и "01:44:01". Как их сложить?
...
0
голосов
0
ответов
66
показов
Oracle APEX проход по элементам Checkbox Group
мне нужно в App Builder'е ORACLE APEX сделать функцию вставки данных сразу в несколько таблиц. Interactive report отображает информацию из View, собранного из таблиц "Book", "...
-3
голоса
1
ответ
55
показов
Кто из подозреваемых получил самый большой тюремный срок? В полученной таблице отобразить имя
select name, subquery.DAYS
from suspects,
(select suspect_id, max(end_date - start_date) DAYS
from crimes
where start_date BETWEEN TO_DATE (start_date, 'DD.MM.YY') AND TO_DATE (end_date, 'DD.MM.YY')) ...
0
голосов
0
ответов
65
показов
Поиск дубликатов по строкам pl sql
Как найти полностью идентичные строки?
И как найти идентичные строки, в которых одинаково все, кроме одного столбца?
Например, на скриншоте последние две строки имеют одинаковое всё кроме первого ...
0
голосов
0
ответов
69
показов
Выбрать строку с крайней датой через where. PL/SQL
Есть длинный запрос, в результате которого мы можем получить дубликаты во всех столбцах кроме одного-двух. Можно ли через where (принципиально важно именно в where) задать выборку по последней дате?
...
-1
голос
2
ответа
20
показов
Получить ошибку если запись не найден
Надо написать такую логику если V_CLIENT равен нулю то тогда надо сделать EXCEPTION NO_DATA_FOUND, но тут у меня как то не получаеться.
PROCEDURE PUT(CODE IN VARCHAR2,
O_NOT_FOUND OUT ...
0
голосов
0
ответов
78
показов
Pl/SQL Рекурсия или итерация. Функция, которая вызывает сама себя
подскажите, как написать функцию, которая найдет последнее значение, подставляя в цикле предыдущее.
Есть объекты 1, 2, 3...10, у каждого объекта, кроме первого, есть свойство - это номер предыдущего ...
1
голос
0
ответов
55
показов
Как в данной процедуре прописать exeption для игнорирования ошибки
create or replace PROCEDURE EVENT_LOG_CLEANER
вот ошибка
ORA-08102: index key not found, obj# 159375, file 5, block 2522200 (2)
ORA-06512: at "STRONGHOLD.EVENT_LOG_CLEANER", line 22
ORA-...
0
голосов
1
ответ
31
показ
Создание дубликатов на основе значения количества в поле
Существует таблица LIBRARY книг вида
|id_name | NAME |COUNT |AUTHOR |
------------------------------
|1593 |Лирика|3 |ПУШКИН |
|65096 |Береза|2 |ЕСЕНИН |
необходимо разбить данную ...
0
голосов
0
ответов
204
показа
ORA-00936: отсутствует выражение ORA-06512
При вызове процедуры выходит ошибка
PROCEDURE GETWAGONSINVENTORYDATAOLAP(RESULT OUT SYS_REFCURSOR) IS
QUERY VARCHAR(4000);
BEGIN
QUERY := 'select ow.shortname OWNER, wt.shortname WAGONTYPE';...
0
голосов
1
ответ
1k
показов
PL/SQL oracle. удаление всех символов из строки до определенного символа VARCHAR2
В поле есть значения типа VARCHAR2 вида
|LOG |
---------------------------------
|192.168.1.5 (IE\PC7777/59593) |
|192.168.2.3 (ER\PC77/55432) |
|192.168.6.3 (OY\PC123/...
0
голосов
2
ответа
183
показа
Как вставить запрос в пользовательский табличный тип без использования цикла и extend?
Версия Oracle 12.1
Добрый день!
Мне нужно доработать функцию, ускорить получение коллекции с данными.
Сейчас используется запись циклом.
Хочу впихнуть сразу весь запрос.
Текущий рабочий вариант ...
0
голосов
1
ответ
468
показов
Неверен реляционный оператор в цикле. Oracle
Создан цикл, который проверяет состояние базы, точнее, момент, когда она получит статус 0 (Онлайн). Если статус не получен, цикл уходит в ожидание. Но при запуске возникает ошибка:
ORA-00920: неверен ...