PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Lewati parameter WHERE ke Tampilan PostgreSQL?

Anda dapat menggunakan fungsi pengembalian yang ditetapkan:

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;

Kemudian Anda dapat melakukan:

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

Btw:apakah Anda yakin ingin:

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

jika model_label tidak unik (atau kunci utama) maka ini pada akhirnya akan menimbulkan kesalahan. Anda mungkin ingin:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa Nama Batasan Default di PostgreSQL?

  2. Fungsi PostgreSQL mengembalikan beberapa set hasil

  3. Menginstal Ekstensi PostgreSQL ke semua skema

  4. Setel ulang kunci utama PostgreSQL ke 1

  5. Menyimpan json, jsonb, hstore, xml, enum, ipaddr, dll gagal dengan kolom x bertipe json tetapi ekspresi bertipe karakter bervariasi