Re: Grundsatzproblem

From: Bernd Helmle <mailings(at)oopsware(dot)de>
To: Friedrich Stockebrand <Friedrich(dot)Stockebrand(at)t-online(dot)de>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Grundsatzproblem
Date: 2005-12-09 11:18:30
Message-ID: B77415E67483F7A870C529C3@[192.168.100.105]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

--On Freitag, Dezember 09, 2005 04:41:43 +0100 Friedrich Stockebrand
<Friedrich(dot)Stockebrand(at)t-online(dot)de> wrote:

> Hallo,
>

Servus

> z.Z. arbeite ich mich in PostgreSQL ein und versuche eine kleine
> Datenbank, die bisher unter MySql lief, auf PostgreSQL umzuschreiben.
>
> Installiert ist die aktuelle Windows-Version von PostgreSQL unter WinXP.
>
> Im wesentlichen geht es um die 3 nachfolgenden Funktionen:
>
> --------------------------------------
>
> CREATE OR REPLACE FUNCTION create_table_buchungsdaten()
> RETURNS void
>
> AS $BODY$
>
> DECLARE
> v_count integer;
>
> BEGIN
>
> SELECT INTO v_count count(*) FROM pg_tables where tablename =
> 'buchungsdaten';
>
> IF v_count = 0 THEN
>
> CREATE TABLE buchungsdaten
> (
> LIKE Journal INCLUDING DEFAULTS
> );
>
> ALTER TABLE buchungsdaten
> ADD id serial;
>
> ALTER TABLE buchungsdaten
> ADD stamp_created timestamp default now();
>
> COMMENT ON TABLE buchungsdaten IS 'Buchungsdaten ohne Storno';
>
> ELSE
>
> TRUNCATE TABLE buchungsdaten;
> SELECT setval (buchungsdaten_id_seq, 1, false);
>

Hier ist der Fehler: Der Sequence muss über seinen Namen referenziert
werden und kann nicht als Bezeichner verwendet werden, also:

SELECT setval ('buchungsdaten_id_seq'::text, 1, false);

oder in 8.1 neu:

SELECT setval ('buchungsdaten_id_seq'::regclass, 1, false);

> END IF;
>
> END;
>
> $BODY$
>
> LANGUAGE 'plpgsql' VOLATILE;

--
Thanks

Bernd

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message apoc9009@yahoo.de 2005-12-09 11:36:40 Volltextsuche/ Balancing
Previous Message A. Kretschmer 2005-12-09 10:50:15 Re: Grundsatzproblem