PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Funkcja jako parametr innej funkcji w Postgresie

Ponieważ każda funkcja / procedura musi mieć wpis w pg_proc, możesz użyć klucza podstawowego do identyfikacji procedury. Wyeliminowałoby to również problemy z procedurami o tej samej nazwie, ale z różną liczbą parametrów lub różnymi typami parametrów.

Skrótami dla tego są typy regproc i regprocedure z powiązanymi odlewami dla łatwiejszej obsługi. Wyszukaj podręcznik dla nich.

Identyfikowanie funkcji i przekazywanie jej nie stanowi problemu:

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

Użyj regprocedure jako typ parametru.

Problemem, którego jeszcze nie rozgryzłem, jest to, jak właściwie to nazwać w wygodny sposób.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowywanie json, jsonb, hstore, xml, enum, ipaddr itp. kończy się niepowodzeniem, ponieważ kolumna x jest typu json, ale wyrażenie ma charakter zmienny

  2. `WHERE col IN` z nazwanymi parametrami

  3. PG::SyntaxError dla aplikacji kolejowych

  4. Czy NLTK może być używany w procedurze składowanej Postgres Python?

  5. Zainstaluj PostgreSQL na Ubuntu 18.04