1 返回结果集的存储过程

-- drop FUNCTION getall();
CREATE or REPLACE FUNCTION getall()
 RETURNS SETOF users  AS
$BODY$
SELECT * from  users;
$BODY$
language SQL;     --  这里使用的SQL

2 返回单个数值的的存储过程

-- drop FUNCTION adduser2(CHARACTER VARYING);
CREATE or REPLACE FUNCTION adduser2(usernamezll varchar)
 RETURNS int2 AS
$body$
BEGIN
insert into users(username) VALUES(usernamezll);
RETURN 5;
end
$body$
language plpgsql;       -- 这里使用的是plpgsql

3 返回表联查的结果集

-- 先创建一个表联查之后的符合类型,将此类型作为函数的返回类型

CREATE TYPE fenshu_u as (id int,kemu VARCHAR,fenshu int,userid INT,username VARCHAR);

CREATE function getfenshu() RETURNS SETOF fenshu_u AS
$$
declare
rec fenshu_u%rowtype;
BEGIN
for rec in SELECT t2.*,t1.username from fenshu as t2 LEFT JOIN users t1 on t2.userid=t1.id WHERE t2.userid>10 loop
  return next rec;
  end loop;
return;
END
$$ LANGUAGE plpgsql;

PostGreSQL存储过程的更多相关文章

  1. Postgresql 存储过程调试 1

    看来人真的有些力不从心,半个月前还很得意掌握的简单的Postgresql 存储过程的调试,一段时间没使用,做新功能就忘了! Postgresql 在开源的数据库里面算是很强悍的了,但现在就是不方便调试 ...

  2. Mybatis调用PostgreSQL存储过程实现数组入参传递

    注:本文来源于 < Mybatis调用PostgreSQL存储过程实现数组入参传递  > 前言 项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于Pos ...

  3. 调用PostgreSQL存储过程,找不到函数名的问题

    PostgreSQL的表,函数名称都是严格区分大小写的,所以在使用的时候没有注意大小写问题容易导致找不到函数名的错误,但最近两天我们发现,如果函数参数使用了自定义的数据类型,也会发生这个问题. 问题描 ...

  4. postgresql 存储过程动态更新数据

    -- 目标:动态更新表中数据 -- 老规矩上代码-----------------------------tablename 表名--feildname 字段名数组--feildvalue 字段值数组 ...

  5. PostgreSQL存储过程<转>

    原创文章,转载请务必将下面这段话置于文章开头处(保留超链接).本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/27/SQL4_存储过程_St ...

  6. PostgreSQL存储过程(2)-基于PL/PgSQL的存储过程

    介绍 PL/pgSQL 是PostgreSQL 数据库系统的一个可加载的过程语言. PL/pgSQL 的设计目标是创建一种可加载的过程语言,可以 用于创建函数和触发器过程, 为SQL 语言增加控制结构 ...

  7. PostgreSQL 存储过程/函数

    1.有用的链接 postgresql 常用小函数 Postgresql数据库的一些字符串操作函数 PostgreSQL function里面调用function PostgreSQL学习手册(函数和操 ...

  8. postgresql 存储过程动态插入数据 2

    最近学习postgresql,正一个小活要用上,所以就开始学习了!然而,学习的过程极其艰辛,但却也充满了乐趣. 一般来说数据库的操作不外如何增,删,改,查,而首要的就是要添加数据到数据库中,因为以前的 ...

  9. Postgresql存储过程调试:PostgreSQL 之 Function NOTICE

    转载自http://zhenghaoju700.blog.163.com/blog/static/13585951820116782843994/ 先安装一个PostgreSQL(见补充知识) 比较O ...

随机推荐

  1. div+css样式

    Div+Css 随着页面上的需求变大,许多的东西不再使用单纯的图片.按钮.文字,而是通过Div+Css来实现按钮,公司的需求就是这样,一直在弄这个模块,顺便的总结一下 列如下面的页面都是通过div+c ...

  2. WebApi:过滤器的种类

    WebApi:筛选器的种类 授权筛选器:这些筛选器用于实现IAuthorizationFilter和做出关于是否执行操作方法(如执行身份验证或验证请求的属性)的安全决策.AuthorizeAttrib ...

  3. 原生+jquery 实现好看滚动条。

    //原生 <!doctype html> <html> <head> <meta charset="utf-8"> <titl ...

  4. (C#)算法题

    1. Convert string from "AAABBCC" to "A3B2C2". 当面试者提出这个问题的时候,首先需要确认题意:譬如:字符串是不是顺序 ...

  5. ADF_Desktop Integration系列1_ADF桌面集成入门之设定Development Environment

    2013-05-01 Created By BaoXinjian

  6. path和classpath

    对于Java的初学者,这两个环境变量,总是要遇到的.这里做一下总结. 1.path和classpath的含义 path是Windows操作系统的一个环境变量. 当操作系统需要运行一个程序,它需要知道该 ...

  7. JMeter压力测试以文件的形式

    JMeter压力测试入门教程[图文] 1. 下载JMeter 2. 启动JMeter 3. 运行预准备 4. 运行 文章目录 Apache JMeter是Apache组织开发的基于Java的压力测试工 ...

  8. IOS简单的字串替换方法stringByTrimmingCharactersInSet 和空格的替换 ()

    NSString *str = @"一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^% ...

  9. jQuery 中 data 方法的实现原理

    前言:jQuery 作为前端使用最多最广泛的 JS 库,其源码每个 JSer 都应该研究一下.早就打算看却一直被各种事拖着,上次某公司面试时被问到 jQuery 中 data 方法是如何实现的,结果答 ...

  10. 【C#基础】System.Reflection (反射)

    在使用.NET创建的程序或组件时,元数据(metadata)和代码(code)都存储于"自成一体"的单元中,这个单元称为装配件.我们可以在程序运行期间访问这些信息.在System. ...