powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перебор записей и вставка значения
4 сообщений из 4, страница 1 из 1
Перебор записей и вставка значения
    #39878585
Anita_90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Помогите с апдейтом.
Необходимо проапдейтить одну таблицу данными из другой.
в первой таблицы есть число. и дата
во второй таблице есть таке же число и пустая дата.
Надо найти все пустые даты и проапдейтить их по принципу если число 1 = число 2.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
begin

for count in (select a.data, a.count from table1 a) 
loop
update table2 b set b.count = a.count
where b.data = a.data;

end loop;
end;



Ошибка:
SQL Error [42601]: ERROR: syntax error at or near "for"
Позиция: 10
ERROR: syntax error at or near "for"
Позиция: 10
ERROR: syntax error at or near "for"
Позиция: 10

Исползую developer
...
Рейтинг: 0 / 0
Перебор записей и вставка значения
    #39878587
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anita_90,

Почитайте про DML-оператор MERGE.
...
Рейтинг: 0 / 0
Перебор записей и вставка значения
    #39878595
Фотография DSKalugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаAnita_90,
Почитайте про DML-оператор MERGE. PostgreSQL не поддерживает MERGE

тут пройдет апдейт типа

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
update table2 b set data = (
    select 
        a.data 
    from table1 a 
    where b.count = a.count -- условие соответствияо принципу если число 1 = число 2.
        and a.data is not null -- и непустая дата
    limit 1 -- вернуть только одну запись
) 
where b.data is null -- только если пустая дата
...
Рейтинг: 0 / 0
Перебор записей и вставка значения
    #39878627
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DSKalugin,
Зачем такие сложности?
Я может чего то не понял, но разве
Код: sql
1.
2.
3.
4.
5.
update dst 
set dst.foo=src.foo
from
src
where src.id=dst.id and dst.foo is null --если src допускает в foo null, то добавить and src.foo is not null
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перебор записей и вставка значения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]