创建存储过程(真正存储过程procedure)
存储过程和函数的区别:
存储过程无需return返回值,函数必须有return返回值,
存储过程可以使用事物,函数中无法使用事物,

create table accounts(id serial primary key,name varchar(50) not null,account numeric
);insert into accounts values (1,'Tom','9000'),(2,'Jerry','9000');select * from accounts;

创建存储过程语法:

create or replace procedure 存储过程名(param_list)
language plpgsql
as $$declare 变量名 type [default value];beginsql_statement;commit;end;
$$;  -- 分号可要可不要

举例:

create or replace procedure transfer(id1 int,id2 int,num numeric)
language plpgsql
as $$beginupdate accounts set account=account-num where id = id1;update accounts set account=account+num where id = id2;commit;  --提交事务end;$$

或:

create or replace procedure transfer(int,int,numeric)
language plpgsql
as $$beginupdate accounts set account=account-$3 where id = $1;  --$1表示第一个参数update accounts set account=account+$3 where id = $2;  --$3表示第三个参数commit;  --提交事务end;$$

调用存储过程:

call transfer(1,2,1000);

PostgreSQL存储过程相关推荐

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

    前言 项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于PostgreSQL自带数组类型,所以有一个自定义函数的入参就是一个int数组,形如: CREATE OR ...

  2. postgreSQL存储过程写法示例

    转载自:http://panyongzheng.iteye.com/blog/2194815 PostgreSQL的存储过程简单入门 http://blog.csdn.net/rachel_luo/a ...

  3. 数据库之postgreSQL存储过程写法示例

    PostgreSQL的存储过程简单入门 [url]http://blog.csdn.net/rachel_luo/article/details/8073458[/url] 存储过程事物 [url]h ...

  4. postgresql存储过程输出参数

    postgresql中存储过程输入输出 postgresql不区分存储过程和函数,即这两个是一个东西.存储过程通常用于比较复杂的操作中. 创建存储过程时 create (or replace) fun ...

  5. 润乾数据集调用postgresql存储过程

    postgresql库本身没有存储过程,是通过函数方式实现,润乾调用该库中存储过程实际上是调用该库的函数,使用方法如下: 1:postgresQL数据库的数据源链接: 将数据库类型更改为POSTGRE ...

  6. PostgreSQL存储过程-批量新增周末到节假日

    步骤分析: 1.定义所需变量,含义详见注释 2.赋初值,删除即将新增的数据(避免重复新增周末) 3.计算开始时间所在的周日(第一个),若周六在开始之前再往下查七天 4.循环执行,若下一个周日在结束日期 ...

  7. postgresql存储过程基本语法

    create table accounts( id serial primary key, name varchar(50) not null, account numeric ); insert i ...

  8. PostgreSQL 存储过程(函数)创建和基本语法

    PostgreSQL官方文档 http://www.postgres.cn/docs/10/index.html Postgresql过程语言官方文档 http://www.postgres.cn/d ...

  9. PostgreSql存储过程模板(PROCEDURE )

    PROCEDURE 语法 CREATE [ OR REPLACE ] PROCEDUREname ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = ...

最新文章

  1. python大家都会吗_一篇告诉你为什么人人都应该学点Python?
  2. 攻防世界(Pwn) forgot---栈溢出;(方法一)
  3. 数据可视化实现技术(canvas/svg/webGL)
  4. 三分钟学会.NET Core Jwt 策略授权认证
  5. html5 canvas获取坐标,HTML5 canvas坐标
  6. 湖南计算机软件水平考试,2021年湖南省计算机软考职称考试 网络工程师 信息系统项目管理师报名考试...
  7. 最好用的 7 款 Vue 3 富文本编辑器
  8. 按键精灵手机助手旋转验证码上传插件
  9. python itchat库学习笔记 + 微信防撤回实现详解(超详细)(已上传)
  10. 无线路由器网络安全设置的九种方法
  11. 一个页面中有两个iframe
  12. 在虚拟机上部署discuz论坛系统
  13. 1927年12月31日午夜一秒谜案
  14. 基于模板方法+协调者委托对现有冗余代码的改造案例
  15. #神仙见了会流泪之#getElementsByTagName的用法
  16. D2FQ: Device-Direct Fair Queueing for NVMe SSDs
  17. 仿射变换的一个练习题!
  18. 安装谷歌浏览器步骤:
  19. subprocess.Popen()
  20. C语言~宏操作大全(宏定义、内置宏、__FILE__、__LINE__、##用法)

热门文章

  1. 济南电信dns服务器未响应,网页打不开?DNS解析失败?DNS服务器未响应?
  2. 青春不死,只是凋零——悼念汪国真老师
  3. 支付中心“收银台“设计方案
  4. ubuntu 安装deb文件的安装方法
  5. 《欧美剧集观看最佳索引》(US SHOWS GUIDE) 【2005-12-27 转verycd】
  6. Tcp通信中服务器处理客户端意外断开!
  7. 花旗:鉴于容联云CC业务的增长,维持容联云“买入”评级
  8. 目标检测之YOLO_v1解读
  9. 美国科技大亨换儿子血浆实现“永葆青春”?
  10. C#TCP简单异步通信