Hallo
Bin relativ neu hier. Mein Vorhaben ist es, mittels einer for-Schleife 100/1000 oder 10.000 mal eine Schleife durchlaufen zu lassen,
mittels derer eine Zufallszahl und eine abhängige Variable erstellt wird, die anschließend in die DB geschrieben wird. Bei 100 Durchläufen, sollten also 100 neue Zeilen erscheinen.
Ich habe bereits einen Vorschlag, allerdings kommen bei mir ständig Fehlermeldungen. Vielleicht kann sich das ja einer mal anschauen und sieht sofort den Fehler Danke (Y)
CREATE OR REPLACE FUNCTION random_test()
RETURNS text AS
$$
DECLARE
steam FLOAT;
temperature FLOAT;
BEGIN
steam := 0;
temperature:=0;
FOR i IN 1..100 LOOP
steam:=ROUND( CAST(((35- 5 -1) * random() + 5) AS integer), 1);
temperature := 1,19403*steam-4,029851;
INSERT INTO example_data (temperature, steam) VALUES (temperature, steam);
END LOOP;
END;
$$
LANGUAGE 'plpgsql' IMMUTABLE
SECURITY DEFINER
COST 10;
Select random_test();
Fehlermeldung:
FEHLER: Anfrage „SELECT 1,19403*steam-4,029851“ hat 3 Spalten zurückgegeben
KONTEXT: PL/pgSQL-Funktion random_test() Zeile 15 bei Zuweisung
********** Fehler **********
FEHLER: Anfrage „SELECT 1,19403*steam-4,029851“ hat 3 Spalten zurückgegeben
SQL Status:42601
Kontext:PL/pgSQL-Funktion random_test() Zeile 15 bei Zuweisung
ODER ALTERNATIV
irg. was mit volatile Funktion INSERT