Lists: | pgsql-tr-genel |
---|
From: | Ahmet Tolga Tat <tolgatat(at)gmail(dot)com> |
---|---|
To: | pgsql-tr-genel(at)postgresql(dot)org |
Subject: | Foksiyon Parametreleri |
Date: | 2010-10-23 12:36:31 |
Message-ID: | AANLkTim+Tci++z6BJWXdKCsVMw4x9REa26ZPPXKUsvjM@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-tr-genel |
Merhaba,
Fonksiyonlarin parametre bilgileri hangi tabloda saklaniyor veya nasil
sorgulama yapabilirim.
Tüm PostgreSQL dökümantasyonunu aradim ama bulamadim, gözden kacti galiba,
gruba sorayim dedim.
--
iyi günler
Ahmet Tat, MSc
Software Architect
From: | Devrim GÜNDÜZ <devrim(at)gunduz(dot)org> |
---|---|
To: | Ahmet Tolga Tat <tolgatat(at)gmail(dot)com> |
Cc: | pgsql-tr-genel(at)postgresql(dot)org |
Subject: | Re: Foksiyon Parametreleri |
Date: | 2010-10-23 12:41:03 |
Message-ID: | 1287837663.3949.1.camel@hp-laptop02.gunduz.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-tr-genel |
On Sat, 2010-10-23 at 14:36 +0200, Ahmet Tolga Tat wrote:
> Fonksiyonlarin parametre bilgileri hangi tabloda saklaniyor veya nasil
> sorgulama yapabilirim.
psql'de \df+ fonksiyon_adı ile bakabilirsiniz. Örnek:
pagila=# \df+ film_not_in_stock
List of functions
-[ RECORD
1 ]-------+----------------------------------------------------------------
Schema | public
Name | film_not_in_stock
Result data type | SETOF integer
Argument data types | p_film_id integer, p_store_id integer, OUT
p_film_count integer
Type | normal
Volatility | volatile
Owner | postgres
Language | sql
Source code |
| SELECT inventory_id
| FROM inventory
| WHERE film_id = $1
| AND store_id = $2
| AND NOT inventory_in_stock(inventory_id);
|
Description |
psql'i -E ile başlatırsanız, \df+'ın nasl sorguladığını da
bulabilirsiniz:
SELECT n.nspname as "Schema",
p.proname as "Name",
pg_catalog.pg_get_function_result(p.oid) as "Result data type",
pg_catalog.pg_get_function_arguments(p.oid) as "Argument data types",
CASE
WHEN p.proisagg THEN 'agg'
WHEN p.proiswindow THEN 'window'
WHEN p.prorettype = 'pg_catalog.trigger'::pg_catalog.regtype THEN 'trigger'
ELSE 'normal'
END as "Type",
CASE
WHEN p.provolatile = 'i' THEN 'immutable'
WHEN p.provolatile = 's' THEN 'stable'
WHEN p.provolatile = 'v' THEN 'volatile'
END as "Volatility",
pg_catalog.pg_get_userbyid(p.proowner) as "Owner",
l.lanname as "Language",
p.prosrc as "Source code",
pg_catalog.obj_description(p.oid, 'pg_proc') as "Description"
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang
WHERE p.proname ~ '^(film_not_in_stock)$'
AND pg_catalog.pg_function_is_visible(p.oid)
ORDER BY 1, 2, 4;
Bundan kendi gereksinimize uygun bir sorgu çıkartabilirsiniz.
--
Devrim GÜNDÜZ
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
PostgreSQL RPM Repository: http://yum.pgrpms.org
Community: devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org Twitter: http://twitter.com/devrimgunduz