Re: Grundsatzproblem
--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
Home |
Main Index |
Thread Index