0
私は、PostgreSQL関数の戻り値をPostgreSQLの変数に設定する方法は?
CREATE OR REPLACE FUNCTION verificar2 (rooms INT[], fecha_I DATE, fecha_F DATE) RETURNS BOOLEAN AS $verificar_Fechas$
DECLARE
reg INT;
size int := array_length(rooms,1); --Get the size of the array to search one by one
x int; --for counting the reservations available
BEGIN
FOR reg IN 1..size
loop
SELECT count(*) INTO x
FROM
reservacion r
INNER JOIN rh ON (r.num_reservacion=rh.num_reservacion)
INNER JOIN habitacion h ON (h.num_habitacion=rh.num_habitacion)
where h.num_habitacion=rooms[reg]
and not
(fecha_F BETWEEN r.fecha_entrada AND r.fecha_salida
or
fecha_I BETWEEN r.fecha_entrada AND r.fecha_salida
or
fecha_I < r.fecha_Entrada and fecha_F > r.fecha_salida
);
IF x = 0 Then
return false;
ELSE
return true;
END IF;
end loop;
END;
$verificar_Fechas$ LANGUAGE plpgsql;
でこの機能を持っていると私は、次の変数 validReservationsのBOOLEANを持つ別の機能を持っています。
私は変数に最初の関数の戻り値を設定する必要があると私は
validR := verificar2 (rooms, fecha_entrada, fecha_salida);
をやってみました。しかし、それは動作しませんでしたし、私は検証を行うためにそれを必要としています。手伝って頂けますか?
どこでやってみましたか?他の機能では?コードを入力してください –
"*しかし、動作しませんでした" *は有効なPostgresエラーメッセージではありません。 –