`
JadeLuo
  • 浏览: 425699 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

POSTGRESQL

 
阅读更多
CREATE OR REPLACE FUNCTION "public"."tradegift3(src_id int4, dst_id int4, gift_id int4, gift_count i"(IN src_id int4, IN dst_id int4, IN gift_id int4, IN gift_count int4, IN gift_type int4, IN total_out int4, IN total_in int4, IN trade_type int4, IN room_id int4, OUT ret_sucess int4, OUT src_nk int4, OUT src_nb int4, OUT dst_nk int4, OUT dst_nb int4, OUT dst_nchestnum int4)
  RETURNS "pg_catalog"."record" AS $BODY$
DECLARE
r0 RECORD;
todaycost integer;
bnewchest integer;
today date;
BEGIN
   src_nk:=0;
   src_nb:=0;
   dst_nk:=0;
   dst_nb:=0;
   dst_nchestnum:=0;
   todaycost:=0;
   bnewchest:=0;
   select now() as val into r0;
   select now() into today;
   update tbuseraccount set nk=nk-total_out where nuserid=src_id and nk>=total_out;
   if FOUND then
       if trade_type=1 then
         update tbuseraccount set nb=nb+total_in where nuserid=dst_id;
       else
         update tbuseraccount set nk=nk+total_in where nuserid=dst_id;
       end if;
       
       insert into tbusertradelog(nuserid,nbuddyid,ngiftid,ncount,dtime,ngifttype,nvcbid,nusermoney,nbuddymoney) VALUES(src_id,dst_id,gift_id,gift_count,r0.val,gift_type,room_id,total_out,total_in);

       select ncost into todaycost from tbusertodaycost where nuserid=src_id and ddate=today;
       if FOUND then
          todaycost := todaycost + total_out;
  update tbusertodaycost set ncost=ncost + total_out where nuserid=src_id;
       else
          todaycost := total_out;
  update tbusertodaycost set ncost=total_out, ddate=today where nuserid=src_id;
  if not FOUND then
    insert into tbusertodaycost(nuserid,ncost,ddate) values(src_id,total_out,today);
  end if;
end if;

if todaycost >= 10000000 then
   bnewchest :=1;
   update tbusertodaycost set ncost=0 where nuserid=src_id;
   update tbuseraccount set nchestnum=nchestnum+1 where nuserid=src_id;
   select nchestnum into dst_nchestnum from tbuseraccount where nuserid=src_id;
 end if;
  
       select nk,nb from tbuseraccount where nuserid=src_id into src_nk,src_nb;
       select nk,nb from tbuseraccount where nuserid=dst_id into dst_nk,dst_nb;
       ret_sucess=0;
       if bnewchest=1 then
          ret_sucess=1;
       end if;

       RETURN;
   end if;

   ret_sucess=-1;
   RETURN;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE COST 100
;

ALTER FUNCTION "public"."tradegift3(src_id int4, dst_id int4, gift_id int4, gift_count i"(IN src_id int4, IN dst_id int4, IN gift_id int4, IN gift_count int4, IN gift_type int4, IN total_out int4, IN total_in int4, IN trade_type int4, IN room_id int4, OUT ret_sucess int4, OUT src_nk int4, OUT src_nb int4, OUT dst_nk int4, OUT dst_nb int4, OUT dst_nchestnum int4) OWNER TO "ksbox";

 

分享到:
评论

相关推荐

    PostgreSQL中文手册9.2

    PostgreSQL中文学习手册 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据表 数据表 ) 4 一、表的定义: 一、表的定义: 一、表的定义: . 4 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册...

    DB2到GreenPlum/PostgreSQL的转换指南

    ### DB2到GreenPlum/PostgreSQL的转换指南 #### 1. 引言 ##### 1.1 目的 本指南旨在帮助用户理解从DB2迁移到GreenPlum或PostgreSQL过程中所涉及的关键技术和注意事项。由于这两种数据库系统之间存在显著差异,因此...

    PostgreSQL(postgresql-14.1.tar.bz2)

    PostgreSQL(postgresql-14.1.tar.bz2) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。...

    PostgreSQL(postgresql-14.1.tar.gz)

    PostgreSQL(postgresql-14.1.tar.gz) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES...

    PostgreSQL(postgresql-13.5.tar.gz)

    PostgreSQL(postgresql-13.5.tar.gz) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES...

    PostgreSQL(postgresql-13.5.tar.bz2)

    PostgreSQL(postgresql-13.5.tar.bz2) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。...

    postgresql 离线安装教程

    ### PostgreSQL离线安装详解 #### 一、简介 PostgreSQL是一款功能强大且全面的开源对象-关系型数据库管理系统(ORDBMS)。它基于加州大学伯克利分校开发的POSTGRES 4.2版本构建而成,引入了许多先进的概念和技术,...

    Postgresql-10安装包

    **PostgreSQL 10 安装指南** PostgreSQL 是一款强大的开源关系型数据库管理系统,具有高度的稳定性和可扩展性,被广泛应用于各种规模的企业和项目。本文将详细介绍如何使用提供的 PostgreSQL-10 安装包进行安装,...

    PostgreSQL_8.2.3.rar_postgresql_windows 8

    PostgreSQL是一种开源关系型数据库管理系统(RDBMS),它的版本8.2.3是该系统的一个重要里程碑。这个版本在2006年发布,带来了许多改进和新特性,使得PostgreSQL在当时更加稳定和功能强大。对于Windows 8用户来说,...

    PostGreSQL安装部署系列:Centos 7.9 安装指定PostGreSQL-15版本数据库

    ### PostGreSQL在Centos 7.9上的安装与部署 #### 一、引言 在开始学习任何数据库之前,最重要的第一步就是安装部署一个可供学习和测试的环境。选择一个在业界广泛使用的操作系统版本,以及一个成熟稳定的数据库...

    postgresql 12、15离线安装包

    PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性和可靠性而受到全球开发者的广泛赞誉。在标题和描述中提到的“postgresql 12、15离线安装包”指的是为这两个版本提供的安装程序,适用于没有互联网...

    postgresql ubantu离线安装版

    PostgreSQL是一种开源的对象关系型数据库管理系统(ORDBMS),它在Ubuntu操作系统上广泛使用,尤其在需要稳定性和高性能的环境中。Ubuntu离线安装版的PostgreSQL适用于那些没有互联网连接或者网络带宽有限的环境,...

    Navicat for PostgreSQL(PostgreSQL数据库管理)V11.0.10简体中文特别版

    Navicat for PostgreSQL是一套专为PostgreSQL设计的强大数据库管理及开发工具。它可以用于任何版本 7.5 或以上的 PostgreSQL 数据库服务器,并支持大部份 PostgreSQL最新版本的功能,包括触发器、函数、管理用户等。...

    PostgreSQL(postgresql-13.5-1-windows-x64.exe)

    PostgreSQL(postgresql-13.5-1-windows-x64.exe)适用于Windows x86-64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的...

    PostgreSQL(postgresql-14.2.tar.gz)

    PostgreSQL(postgresql-14.2.tar.gz),适用于Linux系统:PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库...

    postgresql-42.5.0.jar

    postgresql-42.5.0.jar是Java上的一个驱动程序,用于连接PostgreSQL数据库并与其进行交互。它可以让Java程序员方便地使用PostgreSQL数据库,并提供了许多功能和工具,使程序员可以编写高效、稳定和高性能的应用程序...

    连接postgresql数据库需要的jar包

    在Java编程中,连接到PostgreSQL数据库通常需要特定的驱动程序,这个驱动程序通常是以JAR(Java Archive)文件的形式存在。"连接postgresql数据库需要的jar包"指的是用于建立Java应用程序与PostgreSQL数据库之间通信...

    postgresql离线安装包及依赖库

    PostgreSQL是一种开源的对象关系型数据库管理系统(ORDBMS),它以其强大的功能、高度的稳定性以及对ACID(原子性、一致性、隔离性、持久性)事务的支持而受到广大开发者的欢迎。离线安装包通常是为了在没有网络连接...

    postgresql12主从集群安装

    【PostgreSQL 12主从集群安装】 在搭建PostgreSQL 12主从集群时,首先需要理解主从复制的概念。主从复制是数据库高可用性的一种常见解决方案,它允许数据从一个节点(主节点)实时同步到另一个或多个节点(从节点)...

    postgresql PGCA 课程PPT01_postgresql_PGCA_PGCP_PGCM_课程全免费

    【PostgreSQL】是一种高度成熟且功能丰富的开源(对象-关系型)数据库管理系统,它在业界被认为是主流数据库之一,尤其在企业级应用中受到广泛青睐。PostgreSQL 的特性包括支持复杂查询、事务处理、多版本并发控制...

Global site tag (gtag.js) - Google Analytics