Ich möchte gerne das zeichen immer demresult anhängen
Lieder klappt ein einfaches concat mittel ||*nicht. Scheinbar muss ich nochwas casten find aber die Lösung nicht.
DROP FUNCTION generate_voucher_code();
CREATE OR REPLACE FUNCTION generate_voucher_code() RETURNS varchar AS $$
DECLARE
i int4;
j int4;
chars varchar := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
result varchar;
BEGIN
for i in 1 .. 16 loop
j := int4(random()*35)+1;
result = substring(chars, j, 1);
end loop;
return result;
END;
$$ LANGUAGE 'plpgsql';
SELECT generate_voucher_code();
Vermutlich wirst Du das nun noch in Deine Schleife einbauen und vermutlich wird es dann auch noch nicht gehen. Dein nächster Fehler wird sein, daß Deine Variable ‘result’ nicht initialisiert und somit NULL ist. Und NULL || ‘x’ ist nunmal wieder NULL.