Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для EARLBKV
0 / 0 / 0
Регистрация: 19.01.2021
Сообщений: 25

(PL/SQL) Вызов таблицы по условию из другой таблицы

25.08.2023, 11:40. Показов 670. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня есть сложный select-скрипт (назовём его Х), по вызову которого я проверяю обновлённость данных в других витринах, которые обновляются ежедневно. В вызываемой таблице есть даты и статус обновления.

Так же у меня есть не менее сложный и длинный select-скрипт (назовём его Y) , который мне необходимо запускать ежедневно для актуализации дашбордов на основе обновлённых данных. Я хочу объединить эти два скрипта в один, чтобы реализовать логику:

Если в таблице, вызванной X присутствует сегодняшняя дата и статус 'S', то должен запуститься скрипт Y, если нет, то завершить скрипт.

Спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.08.2023, 11:40
Ответы с готовыми решениями:

Update таблицы по данным из другой по условию ms sql server
Здравствуйте уважаемые форумчане! Подскажите решение, немогу разобраться. Есть три таблицы: create table УсловияТП ( ...

Внести в поле таблицы сумму значений из другой таблицы по условию
Есть две таблицы данных People (плательщики) и Pays (платежи) Необходимо при занесении нового платежа в таблицу Pays для каждого...

Удалить записи из таблицы по условию из другой таблицы
Нужно провести удаление записей из таблицы показателей при устовии что в справочнике показателей поле =True Помогите подкорректировать...

8
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,087
25.08.2023, 15:18
А как вы запускаете скрипт?
Нарисуйте пример кода.
0
 Аватар для EARLBKV
0 / 0 / 0
Регистрация: 19.01.2021
Сообщений: 25
25.08.2023, 15:46  [ТС]
Проверка актуальности (скрипт Х)
Oracle 11 SQL
1
2
3
4
5
6
7
SELECT TRUNC(data),
status FROM LOG
WHERE data >= sysdate-1
GROUP BY
TRUNC(data),
status
ORDER BY 2,1;
Выдаёт даты и статусы. Нужно реализовать условие, что если по запросу в этой таблице сформирована сегодняшняя дата и статус "обновлено", то выполнялся уже второй скрипт, если нет, то завершить выполнение (выдать нуль например)
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
25.08.2023, 16:11
if exists в хранимке
0
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,087
25.08.2023, 20:14
Цитата Сообщение от EARLBKV Посмотреть сообщение
Проверка актуальности (скрипт Х)
Нет. Имелось ввиду, как вы второй скрипт то запускаете?
Это хранимая процедура, с кучей кода, или просто банальный Merge/Delete/Update/Insert из одного запроса?
Какой этот второй скрип то?

Добавлено через 5 минут
Я не просто так спрашиваю. Например если ваш скрипт - это одна команда, ну Merge, например, то ваши два скрипта легко преобразовать в один. Один второй скрипт, одним из условий которого будет первый скрипт.
Если же вам нужно, каждой строки вызывать хранимку, внутри которой много чего делается, и сам черт ногу сломит, и подставлять туда данные из каждой строки - тогда курсор, никуда не денешься.
0
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
25.08.2023, 21:28
Может, это пригодится?
https://postgrespro.ru/docs/po... sql-notify
Это позволяет отсигналить об изменениях другому приложению.
0
 Аватар для EARLBKV
0 / 0 / 0
Регистрация: 19.01.2021
Сообщений: 25
28.08.2023, 09:32  [ТС]
Цитата Сообщение от uaggster Посмотреть сообщение
Нет. Имелось ввиду, как вы второй скрипт то запускаете?
Это большущий селект с кучей джойнов и кейсов =(
0
912 / 286 / 57
Регистрация: 01.06.2023
Сообщений: 808
28.08.2023, 13:56
Большой/маленький не имеет значения. с помощью чего Вы запускаете скрипты? Как запускаете первый и второй?

Пока из ТЗ можно сделать такой вывод:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT * 
FROM (
  ...Здесь Ваш большой SQL...
) t
WHERE 
  EXISTS(
    SELECT 1 FROM LOG
    WHERE 
      DATA >= trunc(sysdate()) 
      AND DATA < trunc(sysdate()) + 1
      AND STATUS = 'обновлено'
  )
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
31.08.2023, 15:11
Ну решение выше предложили:
1) ваши запросы Х и Y упакуйте во view.
2) создайте таблицы со структурой, которые повторяют поля во вьюшках
3) через merge обновить первую таблицу: Х -> таблица1
4) через exists примите решение нужно ли запускать вторую вьюшку и мержить её со второй таблицей
5) …
6) получили материализованные вьюшки для бедных.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.08.2023, 15:11
Помогаю со студенческими работами здесь

Удаление данных с таблицы по условию с другой таблицы
Все привет. Помогите записать запрос на удаление данных с таблицы Access по условию с другой таблицы. Запрос, который нормально...

Часть слова по условию из другой таблицы
доброго времени суток на днях возникла задача сделать некий отбор из текста по условию пример: существую 2 таблицы 1я(код...

Скопировать значение ячейки из другой таблицы по условию
Есть таблица (приложенный файл). Необходимо значения последнего столбика (L), скопировать в аналогичную таблицу, в которой столбик L не...

Подстановка значений из другой таблицы по определённому условию
Здравствуйте! Прошу помощи. Есть 2 таблицы, одна как БД, вторую нужно заполнить. Из первой таблицы внести результаты во вторую если...

Копирование строк из таблицы на другой лист по условию
Доброй ночи! Помогите. Нужно чтобы автоматом происходило копирование строк из одного листа в другой согласно дате. Идея такая: Хочу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru