powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / замена строки с копии
7 сообщений из 7, страница 1 из 1
замена строки с копии
    #38838786
judas777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые гуру
Подскажите метод, которым можно заменить строку значениями с другой таблицы.
Например
Есть таблица test и её идентичная копия backup_test
создать запись можно очень просто INSERT INTO backup_test SELECT * TEST where id=значение.

Вопрос: как заменить информацию в уже созданной строчке

п.с прочитал в документации вот это
Compatibility
This command conforms to the SQL standard, except that the FROM and RETURNING clauses are PostgreSQL extensions, as is the ability to use WITH with UPDATE.

According to the standard, the column-list syntax should allow a list of columns to be assigned from a single row-valued expression, such as a sub-select:
UPDATE accounts SET (contact_last_name, contact_first_name) =
(SELECT last_name, first_name FROM salesmen
WHERE salesmen.id = accounts.sales_id);

This is not currently implemented — the source must be a list of independent expressions.

Some other database systems offer a FROM option in which the target table is supposed to be listed again within FROM. That is not how PostgreSQL interprets FROM. Be careful when porting applications that use this extension.


но UPDATE SET (SELECT) не работает
...
Рейтинг: 0 / 0
замена строки с копии
    #38838901
judas777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
- тема закрыта, решение нашёл-
(может способ и "топорный" но работоспособный)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
-- восстановление значений полей строки с другой строки таблицы
CREATE OR REPLACE FUNCTION restore_current_row(tablename text, rowid integer, backid integer) 
  RETURNS void AS
$BODY$
  DECLARE _ROW record;
BEGIN
  FOR _ROW IN (SELECT column_name FROM information_schema.columns 
     WHERE table_name=$1 and table_schema='public' and column_name<>'id')
  LOOP
     EXECUTE 'UPDATE "'||tablename||'" SET '||_ROW.column_name||'='||
       '(SELECT '||_ROW.column_name||' FROM "'||tablename||'"' WHERE id='||backid||') WHERE id='||rowid;         
  END LOOP;
  
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
...
Рейтинг: 0 / 0
замена строки с копии
    #38838961
Фотография torbasow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
judas777,

из! Из другой таблицы! Что же вы все пишете «с» вместо «из»? Тогда уж надо писать и «на таблице».
...
Рейтинг: 0 / 0
замена строки с копии
    #38838996
torbasowjudas777,

из! Из другой таблицы! Что же вы все пишете «с» вместо «из»? Тогда уж надо писать и «на таблице».та он с винницы
вот не надо было шпынять за местные диалекты и диалектизмы -- по сю пору на украиние (в окраинной провинции) жили бы ураинцы (окраинные провинциалы), а не упоротые свидомиты
по секрету скажу: кубаноиды -- те тоже на южных диалектах балакают, да курские тож. не на ляхотской мове, конечно, но и не на масковском базарном аль питерском "литературно"--писарском

вы, торбасов, так одинодинкаете, что сразу видно -- клятый московит. и даже эмо, небось.
осталось еще кучу непарных скобочек воткнуть -- и ващще молодца

в исходном посте чел не знает что такое апдейт-- вот что угнетает, а "с", "вна" и прочее оставьте ватникам в развлечение. многообразие -- это прекрасно . типа скажет кто -- "я скучаю за тобой" -- и сразу ясно -- с югов есть пошёл красава.

https://yandex.ru/yandsearch?clid=2186618&text="я скучаю за тобой"
...
Рейтинг: 0 / 0
замена строки с копии
    #38842061
judas777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авториз! Из другой таблицы!
авторпо секрету скажу
по сути сказать что-то можете "интеллектуалы" ?
...
Рейтинг: 0 / 0
замена строки с копии
    #38842611
ты, этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
judas777авториз! Из другой таблицы!
авторпо секрету скажу
по сути сказать что-то можете "интеллектуалы" ?
по существу:
-- существо не знало слово UPDATE и должно бы обтекать
а ссуть ли, не ссуть ли -- не его, существа, дело
...
Рейтинг: 0 / 0
замена строки с копии
    #38842664
ты, этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
существо<>
но UPDATE SET (SELECT) не работает
вот так работает, пользуюсь
Код: sql
1.
2.
3.
4.
UPDATE test
   SET (id, txt)= (t.id,t.txt )
FROM test t
WHERE t.id = test.id;


но да, через * не укажешь, печалька
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / замена строки с копии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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