sql >> Databáze >  >> RDS >> PostgreSQL

Funkce jako parametr jiné funkce v Postgresu

Protože každá funkce / procedura musí mít záznam v pg_proc, můžete pro identifikaci procedury použít primární klíč. To by také odstranilo problémy s procedurami, které mají stejný název, ale jiný počet parametrů nebo různé typy parametrů.

Zkratky pro toto jsou typy regproc a regprocedure s příslušnými odlitky pro snadnější manipulaci. Vyhledejte příručku pro tyto.

Identifikace funkce a její předání není žádný problém:

select 'pg_database_size(oid)'::regprocedure; -- create "reference"
     regprocedure      
-----------------------
 pg_database_size(oid)

Použijte regprocedure jako typ parametru.

Problém, na který jsem ještě nepřišel, je, jak vlastně takovou věc pohodlně nazvat.



  1. Proč mi PHP OCI8/Oracle oci_bind_array_by_name nefunguje?

  2. Operaci nelze dokončit, protože DbContext byl odstraněn v Mqsql a Entity Framework

  3. Použití operátoru EXCEPT na verzi MySql 5.1

  4. Jak se zbavit prázdného, ​​ale obrovského sloupce LOB?