Pl sql merge: Oracle PL/SQL оператор MERGE — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite
Содержание
SQL exercises
SQL exercises |
Language Русский English |
April 05, 05:39 MSK | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Practical skills of SQL language
This site will help everyone to gain or improve skills in building
NOTE: Your browser should support Cookies and Javascript to provide correct usage of this site. If you use content filter, it should allow opening child windows to explore help pages.
Certification
Successful testing of yours can be confirmed by the certificate «SQL Data Manipulation Language Specialist».
More about certification. What does the certificate give to you?
SQL syntax used
User’s queries are executed by SQL server that brings some limitations to the
Top 10 results
|
plsql — Как использовать ключевое слово MERGE в pl/sql?
спросил
Изменено
1 год, 1 месяц назад
Просмотрено
118 раз
Я обновляю таблицу, но продолжаю получать следующую ошибку
ОШИБКА: синтаксическая ошибка в или около «СЛИЯНИЯ» СТРОКА 3: ОБЪЕДИНИТЬСЯ в
, когда я пытаюсь использовать оператор слияния. Я не вижу ничего очевидного в синтаксисе. может кто-нибудь указать на очевидное
MERGE в Table2 t2 используя (выберите имя, max (id) max_id из группы Table1 t1 по имени) t1 на (t2.project_name=t1.name) при совпадении обновите set projectid=max_id, где status='congoing' ;
Таблица 1
1 | альфа | 2021 | 2 | фундамент | 2020 | 3 | НЕТОС | 2021 | 5 | ВебОПД | 2019 | Таблица 2 идентификатор | имя | год | статус | название проекта | идентификатор проекта 1 | Джон | 2021 | текущий | альфа | 1 2 | Линда | 2021 | завершено | НЕТОС | 3 3 | погладить | 2021 | ВебОПД | завершено | 5 4 | том | 2021 | текущий | альфа | 1
версия: PostgreSQL 13.6
1
В последней строке вашего сообщения говорится, что вы используете PostgreSQL . Используемый вами тег ( plsql
) означает Oracle . Какой же он, в конце концов? Я предполагаю, что раньше, но синтаксис, который вы использовали, — это Oracle.
Документация MERGE для PostgreSQL говорит, что
-
INTO
нельзя использовать - без скобок для
ПО
пункт -
Условие WHERE
нельзя использовать
Посмотрите, поможет ли это:
MERGE Table2 t2 используя (выберите t1.name, макс(t1.id) max_id из таблицы 1 t1 присоединиться к таблице 2 t2 на t2.project_name = t1.name где t2.status = 'текущий' группировать по имени ) Икс на t2.project_name = x.name при совпадении обновите набор t2.projectid = x.max_id ;
1
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Как при выполнении MERGE в Oracle SQL обновить строки, которые не совпадают в SOURCE
У меня есть основная база данных и база данных отчетов, и мне нужно синхронизировать таблицу из основной в отчет.
Однако, когда элемент удаляется из основной базы данных, я хочу установить только флаг IsDeleted в базе данных отчетов.
Какой элегантный способ сделать это?
В настоящее время я использую оператор MERGE, например:
MERGE INTO report.TEST target ИСПОЛЬЗОВАНИЕ (SELECT * FROM main.TEST) источника ВКЛ (целевой.ID = исходный.ID) КОГДА СООТВЕТСТВУЕТ ТО НАБОР ОБНОВЛЕНИЯ (цель... = источник...) КОГДА НЕ СООТВЕТСТВУЕТ ТО ВСТАВИТЬ (...) ЗНАЧЕНИЯ (источник...) ;
Оператор WHEN NOT MATCHED дает мне все НОВЫЕ значения из основного, но я также хочу обновить все СТАРЫЕ значения из отчета.
Я использую Oracle PL/SQL.
- sql
- оракул
- SQL-слияние
4 ноября 2022 г.
в других
к
гаурав
• 22,970 баллов
•
248 просмотров
1 ответ на этот вопрос.
0 голосов
Вижу, ты уже давно об этом спрашивал, надеюсь, это все же поможет.
У меня была такая же проблема, и вот как я ее решил. (отображается в вашем коде)
@State private var минимум: Double = 98.0 Максимум частной переменной @State: Double = 1000000,0 var filteredProducts: [Продукт] var body: некоторый View { Список { Раздел(заголовок: Текст("Фильтры")){ DisclosureGroup("Ценовой диапазон") { Ползунок (значение: $минимум, в: 98...максимум) { Текст("\(минимум)") } minValueLabel: { Текст("мин") } maxValueLabel: { Текст("\(максимум, спецификатор: "%.0f")") } Ползунок (значение: максимум $, в: минимум... 1000000) { Текст("\(максимум)") } minValueLabel: { Text("\(минимум, спецификатор: "%.0f") } maxValueLabel: { Текст("\(максимум, спецификатор: "%.0f")") } } } } }
По сути, задайте ползунку минимального значения максимальное значение @state и наоборот для ползунка максимального значения.
ответил
7 ноября 2022 г.
к
гаурав
• 22 970 баллов
Связанные вопросы в других
В SQL Server можно вставить … ПОДРОБНЕЕ
ответил
30 мая 2022 г.
в других
к
Аниша
• 140 баллов
•
139Просмотры
- sql
- sql-сервер
- выберите
- тскл
Сначала мы можем использовать оператор SELECT для получения … ПОДРОБНЕЕ
ответил
27 мая 2022 г.
в других
к
Авинаш
• 240 баллов
•
265 просмотров
- sql
- sql-сервер
- тскл
- выберите
- SQL-обновление
Попробуй это:
Частное сканирование как целое число
Private Sub CommandButton1_Click() … ПОДРОБНЕЕ
ответил
24 октября 2022 г.
в других
к
нариккадан
• 61,900 баллов
•
241 просмотр
- первенствовать
- вба
Делать то, что вы хотите, это как . .. ПОДРОБНЕЕ
ответил
24 ноября 2022 г.
в других
к
нариккадан
• 61,900 баллов
•
258 просмотров
- первенствовать
- голубая призма
- рпа
В зависимости от деталей вашего сценария … ПОДРОБНЕЕ
ответил
17 июля 2018 г.
в Другие вопросы DevOps
к
айс3033
• 7 300 баллов
•
433 просмотра
- Девопс
- нолио
- sql
- оракул
- devops-инструменты
Неа. Я не думаю, что есть один
Но… ПОДРОБНЕЕ
ответил
10 октября 2018 г.
в базе данных
к
Неха
• 6 300 баллов
•
488 просмотров
- оракул
- sql
- база данных
Для выполнения запросов Oracle SQL и PL/SQL … ПОДРОБНЕЕ
ответил
11 февраля 2022 г.
в базе данных
к
Неха
• 8 940 баллов
•
525 просмотров
- sql
- PLSQL
- оракул
- саас
Преобразование CSV в SQL
http://www.