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
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 |