25 lines
792 B
PL/PgSQL
25 lines
792 B
PL/PgSQL
DROP FUNCTION IF EXISTS public.get_contract_by_id(integer);
|
|
|
|
CREATE OR REPLACE FUNCTION public.get_contract_by_id(p_contract_id INTEGER)
|
|
RETURNS TABLE (
|
|
Id INTEGER,
|
|
ContractorIdNumber VARCHAR(20),
|
|
ContractorName VARCHAR(50),
|
|
ContractorSurname VARCHAR(100),
|
|
ContractInitDate TIMESTAMP,
|
|
RateId INTEGER,
|
|
RateName VARCHAR(100),
|
|
RatePrice MONEY
|
|
) AS $$
|
|
SELECT c.Id,
|
|
c.ContractorIdNumber,
|
|
c.ContractorName,
|
|
c.ContractorSurname,
|
|
c.ContractInitDate,
|
|
c.RateId,
|
|
r.Name AS RateName,
|
|
r.Price AS RatePrice
|
|
FROM public.Contracts c
|
|
JOIN public.Rates r ON r.Id = c.RateId
|
|
WHERE c.Id = p_contract_id;
|
|
$$ LANGUAGE SQL STABLE; |