Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
9aac6230
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9aac6230
编写于
6月 10, 2002
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add item for plpgsql temp table access.
上级
090319b2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
40 addition
and
16 deletion
+40
-16
doc/FAQ
doc/FAQ
+14
-1
doc/src/FAQ/FAQ.html
doc/src/FAQ/FAQ.html
+26
-15
未找到文件。
doc/FAQ
浏览文件 @
9aac6230
Frequently Asked Questions (FAQ) for PostgreSQL
Last updated:
Fri Apr 26 23:03:46
EDT 2002
Last updated:
Mon Jun 10 15:47:38
EDT 2002
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
...
...
@@ -92,6 +92,8 @@
4.23) How do I perform an outer join?
4.24) How do I perform queries using multiple databases?
4.25) How do I return multiple rows or columns from a function?
4.26) Why can't I reliably create/drop temporary tables in PL/PgSQL
functions?
Extending PostgreSQL
...
...
@@ -1031,6 +1033,17 @@ SELECT *
http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,
section 23.7.3.3.
4.26) Why can't I reliably create/drop temporary tables in PL/PgSQL
functions?
PL/PgSQL caches function contents, and an unfortunate side effect is
that if a PL/PgSQL function accesses a temporary table, and that table
is later dropped and recreated, and the function called again, the
function will fail because the cached function contents still point to
the old temporary table. The solution is to use EXECUTE for temporary
table access in PL/PgSQL. This will cause the query to be reparsed
every time.
Extending PostgreSQL
5.1) I wrote a user-defined function. When I run it in psql, why does it
...
...
doc/src/FAQ/FAQ.html
浏览文件 @
9aac6230
...
...
@@ -14,7 +14,7 @@
alink=
"#0000ff"
>
<H1>
Frequently Asked Questions (FAQ) for PostgreSQL
</H1>
<P>
Last updated:
Fri Apr 26 23:03:46
EDT 2002
</P>
<P>
Last updated:
Mon Jun 10 15:47:38
EDT 2002
</P>
<P>
Current maintainer: Bruce Momjian (
<A
href=
"mailto:pgman@candle.pha.pa.us"
>
pgman@candle.pha.pa.us
</A>
)
<BR>
...
...
@@ -138,7 +138,9 @@
<A
href=
"#4.24"
>
4.24
</A>
) How do I perform queries using multiple
databases?
<BR>
<A
href=
"#4.25"
>
4.25
</A>
) How do I return multiple rows or columns
from a function?
<BR>
from a function?
<BR>
<A
href=
"#4.26"
>
4.26
</A>
) Why can't I reliably create/drop
temporary tables in PL/PgSQL functions?
<BR>
<H2
align=
"center"
>
Extending PostgreSQL
</H2>
...
...
@@ -742,7 +744,7 @@
<P>
You can also compile with profiling to see what functions are
taking execution time. The backend profile files will be deposited
in the
<I>
pgsql/data/base/dbname
</I>
directory. The client profile
file will be put in the client's current directory.
Linux requires
file will be put in the client's current directory. Linux requires
a compile with
<I>
-DLINUX_PROFILE
</I>
for proper profiling.
</P>
<H4><A
name=
"3.8"
>
3.8
</A>
) Why do I get
<I>
"Sorry, too many
...
...
@@ -900,9 +902,9 @@
databases, and users are defined?
</H4>
<P><I>
psql
</I>
has a variety of backslash commands to show such
information. Use \? to see them.
There are also system tables
beginning with
<
i>
pg_
</i>
that describe these too. Also,
<i
>
psql
-l
</
i
>
will list all databases.
</P>
information. Use \? to see them. There are also system tables
beginning with
<
I>
pg_
</I>
that describe these too. Also,
<I
>
psql
-l
</
I
>
will list all databases.
</P>
<P>
Also try the file
<I>
pgsql/src/tutorial/syscat.source
</I>
. It
illustrates many of the
<SMALL>
SELECT
</SMALL>
s needed to get
...
...
@@ -1307,16 +1309,25 @@ BYTEA bytea variable-length byte array (null-byte safe)
different databases and merge the information that way.
</P>
<HR>
<H4><A
name=
"4.25"
>
4.25
</A>
) How do I return multiple rows or columns
from a function?
</H4>
<H4><A
name=
"4.25"
>
4.25
</A>
) How do I return multiple rows or
columns from a function?
</H4>
<P>
You can return result sets from PL/pgSQL functions using
<I>
refcursors
</I>
. See
<A
href=
"http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html"
>
http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,
</A>
section 23.7.3.3.
</P>
<H4><A
href=
"#4.26"
>
4.26
</A>
) Why can't I reliably create/drop
temporary tables in PL/PgSQL functions?
</H4>
PL/PgSQL caches function contents, and an unfortunate side effect
is that if a PL/PgSQL function accesses a temporary table, and that
table is later dropped and recreated, and the function called
again, the function will fail because the cached function contents
still point to the old temporary table. The solution is to use
<SMALL>
EXECUTE
</SMALL>
for temporary table access in PL/PgSQL. This
will cause the query to be reparsed every time.
<P>
You can return result sets from PL/pgSQL functions using
<i>
refcursors
</i>
. See
<a
href=
"http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html"
>
http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,
</a>
section 23.7.3.3.
</P>
<H2
align=
"center"
>
Extending PostgreSQL
</H2>
<H4><A
name=
"5.1"
>
5.1
</A>
) I wrote a user-defined function. When I
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录