http://www.postgresql.org/docs/9.1/static/plpgsql-overview.html

39.1.2. Supported Argument and Result Data Types

用PL/pgSQL写的函数可以接受标量类型或者服务器支持的数组类型作为参数,它们可以返回前述的数据类型的结果。它们也能接受或返回通过名称指定的复杂类型(rwo type)。也可以声明一个PL/pgSQL函数返回 record类型,此时返回的结果是一个row type,它的列由调用它的查询所定义。

PL/pgSQL 函数也可以被声明为返回一个任意数据类型的”集合“(或者表)。这样的一个函数通过执行 RETURN NEXT ,为结果集合中的每个特定元素产生输出,或者通过执行 RETURN QUERY来输出一个查询的结果。

最后,一个PL/pgSQL 函数中,如果没有返回值,她可以返回 void。

PL/pgSQL 函数也可以被声明为在返回值出使用输出参数以取代显式指定。这并不能增加强其语言的基础能力,但是却很方便,特别是输出多个值得时候。例如,RETURNS TABLE 标记法可以用来替换 RETURNS SETOF。

PL/pgSQL学习笔记之三的更多相关文章

  1. PL/pgSQL学习笔记之二

    39.1.1 使用 PL/pgSQL的好处 SQL是 PostgreSQL和其他大多数关系型数据库作为查询语言而使用的语言.它可移植,并容易学习.但是SQL语句必须被数据库服务器逐条地执行. 这意味着 ...

  2. PL/pgSQL学习笔记之八

    http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 另外一种声明 PL/pgSQL 函数的方法是使用 returns ...

  3. PL/pgSQL学习笔记之七

    http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 如果一个PL/pgSQL函数声明了输出参数,输出参数被赋予$n名 ...

  4. PL/pgSQL学习笔记之五

    http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3. 声明 块中使用的所有的变量必须在块的声明节中进行声明 ...

  5. PL/pgSQL学习笔记之四

    http://www.postgresql.org/docs/9.1/static/plpgsql-structure.html 39.2. PL/pgSQL 的结构 PL/pgSQL是一种块式结构的 ...

  6. PL/pgSQL学习笔记之一

    开始 资料来源:http://www.postgresql.org/docs/9.1/static/plpgsql-overview.html 39.1 概要: PL/pgSQL是一种可载入的过程语言 ...

  7. PL/pgSQL学习笔记之十一

    http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3.4. Row 类型 name table_name%R ...

  8. PL/pgSQL学习笔记之十

    http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3.3. 类型拷贝 variable%TYPE %TYPE ...

  9. PL/pgSQL学习笔记之九

    http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3.2. ALIAS newname ALIAS FOR ...

随机推荐

  1. Java读写大文本文件(2GB以上)

    如下的程序,将一个行数为fileLines的文本文件平均分为splitNum个小文本文件,其中换行符'r'是linux上的,windows的java换行符是'\r\n': package kddcup ...

  2. (转)Visual Studio原生开发的10个调试技巧(二)

    我以前关于Visual Studio调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来编号).这些技巧可以应用在VS200 ...

  3. 【剑指offer 面试题47】不用加减乘除做加法

    思路: 利用位运算 C++: #include <iostream> using namespace std; int main() { , b = ; int sum, carry; d ...

  4. VC6.0到VS2013全部版本下载地址

    Microsoft Visual Studio 6.0 下载:英文版360云盘下载: http://l11.yunpan.cn/lk/sVeBLC3bhumrI英文版115网盘下载: http://1 ...

  5. JavaScript 建立简单的图片库

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. Excel的 OleDb 连接串的格式

    Excel的 OleDb 连接串的格式(Provider=Microsoft.ACE.OLEDB)(2012-08-02 13:04:20) string strCon = "Provide ...

  7. (转载)OC学习篇之---代理模式

    在前一篇文章我们介绍了OC中的协议的概念,这篇文章我们就来介绍一下OC中的代理模式,关于代理模式,如果还有同学不太清楚的话,就自己去补充知识了,这里就不做介绍了,这里只介绍OC中是如何实现代理模式的. ...

  8. C语言 百人拉百灯问题

    题目: 有100人,编号从1到100; 另有100盏灯,编号也从 1到100. 现要求每人去拉能被自己编号整除的所有电灯, 例如编号为1者应把所有的灯都拉一遍, 编号为2者应把所有编号为偶数的灯都拉一 ...

  9. Tcl之Intro

    Tool command language, a widely used scripting tool that was deveoped for controlling and extending ...

  10. 使用JavaMail API发送邮件

    发送邮件是很常用的功能,注册验证,找回密码,到货通知,欠费提醒等,都可以通过邮件来提醒. Java中发送邮件需要使用javax.mail.jar包,读者可以上网搜索或去官方下载,下载地址为: 下面贴上 ...