sql脚本函数编写postgresql数据库

postgresql创建Long自增函数

CREATE SEQUENCE global_id_sequence;

CREATE OR REPLACE FUNCTION seq_id(OUT result bigint) AS $$
DECLARE
    our_epoch bigint := 1314220021721;
    seq_id bigint;
    now_millis bigint;
    -- the id of this DB shard, must be set for each
    -- schema shard you have - you could pass this as a parameter too
    shard_id int := 1;
BEGIN
    SELECT nextval('global_id_sequence') % 1024 INTO seq_id;

    SELECT FLOOR(EXTRACT(EPOCH FROM clock_timestamp()) * 1000) INTO now_millis;
    result := (now_millis - our_epoch) << 23;
    result := result | (shard_id << 10);
    result := result | (seq_id);
END;
$$ LANGUAGE PLPGSQL;

<!--alter function seq_id(out bigint) owner to postgres;-->

创建sql脚本postgresql

do language plpgsql
$$
begin
update grade set grade = 90 where sno = '20161003';
end
$$

原文地址:https://www.cnblogs.com/ltspring/p/11508636.html

时间: 2024-10-11 20:11:40

sql脚本函数编写postgresql数据库的相关文章

使用SQL脚本访问操作远程数据库

1 USE [Hik] 2 GO 3 /****** Object: StoredProcedure [dbo].[sp_test] Script Date: 08/21/2015 09:55:21 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 -- Batch submitted through debugger: SQLQuery17.sql|7|0|C:\Users\a\AppData\Local\Te

【原创】用第三方语言编写PostgreSQL 存储函数

在PostgreSQL里,所有的存储函数需求都可以用PLPGSQL来实现.同时也支持用第三方语言来编写,这个就得看自己哪个方面熟练了.不过要注意的一点是 PLPGSQL的效率怎么着都比其他第三方语言来的高效.比如,简单的插入表的存储函数: CREATE OR REPLACE FUNCTION ytt.insert_plpgsql(f_num integer) RETURNS void LANGUAGE plpgsql AS $ytt$ declare i int := 0; v_rank int

用第三方语言编写PostgreSQL 存储函数

在PostgreSQL里,所有的存储函数需求都可以用PLPGSQL来实现.同时也支持用第三方语言来编写,这个就得看自己哪个方面熟练了.不过要注意的一点是 PLPGSQL的效率怎么着都比其他第三方语言来的高效.比如,简单的插入表的存储函数: CREATE OR REPLACE FUNCTION ytt.insert_plpgsql(f_num integer) RETURNS void LANGUAGE plpgsql AS $ytt$ declare i int := 0; v_rank int

常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; help show; 显示可用的数据库列表:show databases; 显示一个数据库内可用的表的列表:show tables; 显示表列:show columns from 一个表名; /describe 表名;  示例:show columns from customers;    desc

SQL Server2012如何导出sql脚本并且还原数据库

上次介绍过如何通过bak文件来还原数据库文件,今天来介绍一下如何通过导出sql脚本的方式来备份并且还原新的数据库,不过这种方式比较适合数据库数据不太多的中小型数据表,下面通过SQL Server2012为例来进行说明. 一  备份数据库 1  选择某一个数据库,右键依次选择:任务==>生成脚本: 2  选择要编写脚本的数据库对象,注意此处可以选择特定的数据库对象,我们可以选择我们需要备份的数据表. 3   在当前页面下面第一步选择高级选项,然后再选择输出的sql脚本的保存位置. 4 高级选项中最

通过SQL脚本导入数据到不同数据库避免重复导入三种方式

前言 无论何种语言,一旦看见代码中有重复性的代码则想到封装来复用,在SQL同样如此,若我们没有界面来维护而且需要经常进行的操作,我们会写脚本避免下次又得重新写一遍,但是这其中就涉及到一个问题,这个问题我开始也没太在意,直到某时某刻,老大看到我写的脚本后笑着问了一句,你的脚本可否重复执行,我懵逼了,很显然不能,如果不能避免这种情况发生,比如进行插入操作,当下次其他同事来执行其脚本时可能会插入重复数据,如果是在线上那就傻逼了,所以老大又给我上了一课,从此之后每次写脚本都加逻辑判断,是的,也就是可重复

pg_dumpall - 抽出一个 PostgreSQL 数据库集群到脚本文件中

SYNOPSIS pg_dumpall [ option...] DESCRIPTION 描述 pg_dumpall 是一个用于写出("转储")一个数据库集群里的所有 PostgreSQL 数据库到一个脚本文件的工具. 该脚本文件包含可以用于作为 psql(1) 的输入恢复数据库的SQL命令. 它通过对数据库集群里的每个数据库调用 pg_dump(1) 实现这个功能. pg_dumpall 还转储出所有数据库公用的全局对象. (pg_dump(1) 并不保存这些对象.) 这些信息目前包

.net(C#)在Access数据库中执行sql脚本

自己写的一个工具类,主要是业务场景的需要. 主要有两个功能: ①执行包含sql语句的字符串 ②执行包含sql语句的文件 调用方式 1 /// <summary> 2 /// 执行sql语句 3 /// </summary> 4 /// <param name="sql">需要执行的sql语句</param> 5 public bool ExecuteSql(string sql, ref string errorMsg) 6 { 7 Se

[转]基于SQL脚本将数据库表及字段提取为C#中的类

开发时,勉不了需要使用SQL直接与数据库交互,这时对于数据库中的表名及字段名会使用的比较多.如果每使用一次都复制一个,实在蛋疼.所以就考虑将其做成const常量.但是数据库中的表和字段相当多,一个一个敲,不但累,还有可能敲错.要保证正确,最好的办法当然是使用工具或者脚本. 这里提供一个SQL脚本的实现. 原理:获取数据库的表--->遍历每个表中的字段--->生成数据 SQL代码 DECLARE @tableName VARCHAR(MAX)DECLARE @tableCount intDECL