Kampfgummibaerlie
Datenbank-Guru
- Beiträge
- 743
Also, ich suche schon relativ lange, und glaube, das Ganze auch schonmal präsentiert bekommen zu haben, irgendwas mit "new.id", aber ja, ich weiß nichtmehr wirklich, wie das ging.
Also:
Ich habe eine Function:
Ich habe jetzt jedoch das Problem, dass ich gerne über die Function nicht void (keine Ausgabe), sondern eben die neue ID der miete ausgeben möchte.
Bisher einen Ansatz gefunden, welcher (glaube ich) aber mein bisheriges Wissen ein wenig übertrifft:
Wäre leiwand, wenn mir jemand schnell das DECLARE erklären kann.
Also:
Ich habe eine Function:
Code:
create or replace function mietbeginn (x INTEGER, y timestamp default now()::timestamp) returns void as $$insert into vermietungen(v_maschinen_id, mietzeit) values (x, tsrange(y,y+'2 hour'));$$language sql;
Ich habe jetzt jedoch das Problem, dass ich gerne über die Function nicht void (keine Ausgabe), sondern eben die neue ID der miete ausgeben möchte.
Bisher einen Ansatz gefunden, welcher (glaube ich) aber mein bisheriges Wissen ein wenig übertrifft:
Code:
CREATE FUNCTION get_userid(username text) RETURNS int
AS $$
#print_strict_params on
DECLARE
userid int;
BEGIN
SELECT users.userid INTO STRICT userid
FROM users WHERE users.username = get_userid.username;
RETURN userid;
END
$$ LANGUAGE plpgsql;
Wäre leiwand, wenn mir jemand schnell das DECLARE erklären kann.
Zuletzt bearbeitet: