Re: Inserts using plpgsql - Further

Поиск
Список
Период
Сортировка
От Richard Huxton
Тема Re: Inserts using plpgsql - Further
Дата
Msg-id 003c01c0df74$512edd00$1001a8c0@archonet.com
обсуждение исходный текст
Ответ на Inserts using plpgsql - Further  (Scott Holmes <sholmes@pacificnet.net>)
Ответы RE: Inserts using plpgsql - Further  ("Andrew Snow" <andrew@modulus.org>)
Список pgsql-general
From: "Scott Holmes" <sholmes@pacificnet.net>

> Well, it does not seem to be a problem with multiple fields but with
fields
> that are integers.
>
>     INSERT INTO journal (j_date,casenmbr,j_descr,j_rate,j_status) VALUES
> (jdate,cnmbr,erec.ev_title,erec.ev_rate,jstatus);
>
> Fails, but
>
>     INSERT INTO journal (j_date,j_descr,j_rate,j_status) VALUES
> (jdate,erec.ev_title,erec.ev_rate,jstatus);
>
> Succeeds.  The difference is casenmbr, an integer.  j_rate is a decimal
value,
> j_date is a date and the others are character fields.

Puzzling:

drop table foo;

create table foo (a int unique not null, b text);

drop function foo_ins();

create function foo_ins() returns int as '
declare
  va int;
  vb text;
begin
  va := 1;
  vb := ''xxxxx'';
  INSERT INTO foo (a,b) VALUES (va,vb);
  return 1;
end;
' language 'plpgsql';

select foo_ins();
 foo_ins
---------
       1
(1 row)

select * from foo;
 a |   b
---+-------
 1 | xxxxx
(1 row)


Works fine here - v7.1.1 but I'm sure I'd have noticed problems in previous
versions if there'd been a fault. I'd suspect some issue with the type of
the variable or something.

What precisely is the error and is it possible to provide the table and
function definition?

- Richard Huxton


В списке pgsql-general по дате отправления:

Предыдущее
От: Einar Karttunen
Дата:
Сообщение: Re: lo and security
Следующее
От: "Richard Huxton"
Дата:
Сообщение: Re: Various locking questions