-2
Ich habe eine Datenbank namens Dvdrental und in dieser Datenbank gibt es eine Funktion namens public.film_not_in_stock, aber ich verstehe nicht, was es tut.weiß nicht, was diese Funktion tut
-- Function: public.film_not_in_stock(integer, integer)
-- DROP FUNCTION public.film_not_in_stock(integer, integer);
CREATE OR REPLACE FUNCTION public.film_not_in_stock(
IN p_film_id integer,
IN p_store_id integer,
OUT p_film_count integer)
RETURNS SETOF integer AS
$BODY$
SELECT inventory_id
FROM inventory
WHERE film_id = $1
AND store_id = $2
AND NOT inventory_in_stock(inventory_id);
$BODY$
LANGUAGE sql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION public.film_not_in_stock(integer, integer)
OWNER TO postgres;
Es sieht so aus, als würde das Inventar überprüft, um zu sehen, ob die ID des Films für eine bestimmte Filial-ID angezeigt wird. Was ist daran verwirrend? – duffymo
Aber was macht es danach? Weil das eine Funktion ist und es etwas tun muss? –
Eine Funktion (im Sinne von Postgres) benötigt einige Eingaben und gibt einige Ausgaben zurück und kann zusätzlich Nebenwirkungen haben. In diesem Fall ist die Eingabe die Parameter "p_film_id" und "p_store_id", und die Ausgabe ist das Ergebnis dieser "SELECT" -Anweisung. – IMSoP