基本用法

这些示例包含类似于传统 MySQL 函数的用户定义函数。

示例 #1 PostgreSQL 用户定义函数示例

<?php
// 此函数应该被需要,因为 PostgreSQL 连接绑定了数据库。
function pg_list_dbs($db)
{
assert(is_resource($db));
$query = '
SELECT
d.datname as "Name",
u.usename as "Owner",
pg_encoding_to_char(d.encoding) as "Encoding"
FROM
pg_database d LEFT JOIN pg_user u ON d.datdba = u.usesysid
ORDER BY 1;
'
;
return
pg_query($db, $query);
}

// 列出表。
function pg_list_tables($db)
{
assert(is_resource($db));
$query = "
SELECT
c.relname as \"Name\",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as \"Type\",
u.usename as \"Owner\"
FROM
pg_class c LEFT JOIN pg_user u ON c.relowner = u.usesysid
WHERE
c.relkind IN ('r','v','S','')
AND c.relname !~ '^pg_'
ORDER BY 1;
"
;
return
pg_query($db, $query);
}

// 另请参阅 pg_meta_data()。它将字段定义返回为数组。
function pg_list_fields($db, $table)
{
assert(is_resource($db));
$query = "
SELECT
a.attname,
format_type(a.atttypid, a.atttypmod),
a.attnotnull,
a.atthasdef,
a.attnum
FROM
pg_class c,
pg_attribute a
WHERE
c.relname = '"
.$table."'
AND a.attnum > 0 AND a.attrelid = c.oid
ORDER BY a.attnum;
"
;
return
pg_query($db, $query);
}
?>

添加笔记

用户贡献笔记

此页面没有用户贡献的笔记。
To Top