sql >> Database teknologi >  >> RDS >> PostgreSQL

Send ind HVOR parametre til PostgreSQL View?

Du kan bruge en sæt returnerende funktion:

create or replace function label_params(parm1 text, parm2 text)
  returns table (param_label text, param_graphics_label text)
as
$body$
  select ...
  WHERE region_label = $1 
     AND model_id = (SELECT model_id FROM models WHERE model_label = $2)
  ....
$body$
language sql;

Så kan du gøre:

select *
from label_params('foo', 'bar')

Btw:er du sikker på, at du vil have:

AND model_id = (SELECT model_id FROM models WHERE model_label = $2)

hvis model_label er ikke unik (eller den primære nøgle), så vil dette give en fejl til sidst. Du vil sandsynligvis have:

AND model_id IN (SELECT model_id FROM models WHERE model_label = $2)


  1. Sådan opsætter du en PostgreSQL-database i Django

  2. Integration af værktøjer til at administrere PostgreSQL i produktion

  3. Sådan sender du e-mail ved hjælp af Oracle 10 g Forms

  4. PARSE() vs CAST() vs CONVERT() i SQL Server:Hvad er forskellen?