Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / аналог орасловского no_data_found / 4 сообщений из 4, страница 1 из 1
26.03.2005, 19:01
    #32982511
AntonIgg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог орасловского no_data_found
требуется написать запрос который вначале ле бы пытался апдейтит таблицу и только если эту запись он не нашел начинал её инсертить.
В Орасле это было
...
exception
when no_data_found then ....
end;

А в постресе я не нашел такого (да чесно сказать я в хелпе не нашел спецификации ошибок может подкинете линк, где это можно найти)
...
Рейтинг: 0 / 0
26.03.2005, 22:47
    #32982645
Niemi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог орасловского no_data_found
Возможно вас интересует именно некоторый раздел доки
http://www.postgresql.org/docs/8.0/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-PERFORM
35.6.2. SELECT INTO
35.6.3. Executing an Expression or Query With No Result
хотя это не совсем то

--
интересно у вас тут
...
Рейтинг: 0 / 0
28.03.2005, 03:37
    #32983107
фффф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог орасловского no_data_found
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
CREATE TABLE aaa (
  a int primary key,
  b text
);

CREATE OR REPLACE FUNCTION update_aaa(newa int, newb text) RETURNS VOID AS $_$
DECLARE
  rc int;
BEGIN
  UPDATE aaa SET b=newb WHERE a=newa;
  GET DIAGNOSTICS rc = ROW_COUNT;
  if rc =  0   then
    INSERT INTO aaa VALUES(newa, newb);
  end if;
  return;
END;
$_$ LANGUAGE plpgsql VOLATILE;

insert into aaa values (default, 'hello');
select update_aaa( 1 , 'hello world');
select update_aaa( 2 , 'good-bye');
select * from aaa;

По обработке ошибок см. 35.7.5. Trapping Errors
...
Рейтинг: 0 / 0
29.03.2005, 17:45
    #32986983
AntonIgg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
аналог орасловского no_data_found
Спасибо.
Очень помогло
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / аналог орасловского no_data_found / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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