2013-07-29 6 views
1

Я пытаюсь сделать функцию plpgsql, которая выполняет обновление, а затем возвращает количество обновленных строк.получить номер обновленной строки

Я нашел это:

GET DIAGNOSTICS updated_row_count = ROW_COUNT; 

Он работает просто отлично. Однако я также нашел следующее в документе PostgreSQL 9.2 для UPDATE.

Outputs 
On successful completion, an UPDATE command returns a command tag of the form 
UPDATE count 

Это ссылка: http://www.postgresql.org/docs/9.2/static/sql-update.html

Просто интересно, как я могу получить count в plpgsql функции.

+0

Вы ищете что-то * другое *, чем возвращает «GET DIAGNOSTICS», или просто ищет альтернативный синтаксис для «GET DIAGNOSTICS»? – bma

+1

Другим способом получения подсчета обновленных/вставных/удаленных строк является добавление 'RETURNING count (*)' к запросу. –

+0

@bma Мне интересно, как использовать 'UPDATE count'. – Xin

ответ

1

Эта заметка относится к API низкого уровня, где вы можете прочитать «тег команды». Этот API недоступен из PL/pgSQL, или, точнее, он доступен через инструкцию GET DIAGNOSTICS.

Смежные вопросы