postgrep创建存储过程例子

1.创建数据库
psql

create database db_hxl encoding = ‘utf8‘;
#\c db_hxl

2.创建表
create table tb_test01
(
id bigserial primary key not null,
name varchar(32),
createtime timestamp default current_timestamp,
modifytime  timestamp default current_timestamp
);

3.创建存储过程

CREATE OR REPLACE FUNCTION "public"."sp_insert_data"()
  RETURNS "pg_catalog"."int4" AS $BODY$
declare
    total integer;
        i integer := 1;
BEGIN  

  while i <= 1000 loop
   insert into tb_test01(name) values(‘name‘||i);
     update tb_test01
       set name=‘更新‘ ,modifytime=now()
      where id=ceil(random()*(10000-1)+1);
     i=i+1;
  end loop;

   RETURN 1;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100

4.创建crontab 调度
[[email protected] scripts]$ crontab -l
##pg生成测试数据
*/30 * * * * /home/postgres/scripts/insert_data.sh 1>/dev/null 2>&1

[[email protected] scripts]$ more insert_data.sh
#!/bin/bash
. /etc/profile
. ~/.bash_profile
echo a>>/tmp/a.txt
psql -U postgres -h localhost -d db_hxl << EOF
select sp_insert_data();
EOF

原文地址:https://www.cnblogs.com/hxlasky/p/12356263.html

时间: 2024-12-21 15:16:29

postgrep创建存储过程例子的相关文章

创建存储过程及理解

上面的是创建存储过程的语法,下面的是将其中动态参数换成了实际的参数的一个简单的例子.好好理解上面的模板,你就再也不用担心存储过程的语法不会了.

利用navicat创建存储过程、触发器和使用游标的简单实例

创建存储过程和触发器 1.建表 首先先建两张表(users表和number表),具体设计如下图: 2.存储过程 写一个存储过程,往users表中插入数据,创建过程如下: 代码如下: BEGIN     #Routine body goes here...     declare n bigint;     set n = 201121029684;     while n <= 201121029694     do         insert into users(student_ID) v

skynet 创建存储过程脚本

最近主程更改了数据库的操作方案,由之前的拼写sql脚本转为在mysql端创建好存储过程后,直接调用存储过程. 首先对一个表测试上述过程: 数据库端存储过程:(测试表) CREATE TABLE `randomval` (  `id` int(10) unsigned NOT NULL,  `val` int(10) unsigned NOT NULL,  `step` int(10) unsigned NOT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB  D

MySql中创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

MySQL创建存储过程

存储过程和函数的区别参考链接: http://www.cnblogs.com/lengbingshy/archive/2010/02/25/1673476.html 创建存储过程: DROP PROCEDURE mypro;CREATE procedure mypro (sid INT,OUT sCount INT)BEGIN SELECT COUNT(*) INTO sCount from student where id = sid;END 执行该存储过程: CALL mypro(1,@c)

[转]MYSQL 创建存储过程

MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库时(例如 PHP),要组织很多 SQL 语句.特别是业务逻辑复杂的时候,一大堆的 SQL 和条件夹杂在 PHP 代码中,让人不寒而栗.现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高. 一.MySQL 创建存储过程 "pr_add" 是个简单的

SQL Server创建存储过程(转载)

什么是存储过程? q       存储过程(procedure)类似于C语言中的函数 q       用来执行管理任务或应用复杂的业务规则 q       存储过程可以带参数,也可以返回结果 q       存储过程可以包含数据操纵语句.变量.逻辑 控制语句等 存储过程的优点 (1)执行速度快. 存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译. 存储在数据库服务器,性能高. (2)允许模块化设计. 只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储

主库创建存储过程时从库显示 Error 1049

MySQL Bugs: #72682: Replication MBR halts - stored procedure from unreplicated schema MySQL Bugs: #59135: replicate-wild-do-table: cross-database updates and create SPs break replication 如果从库只使用了replicate-wild-do-table,那么当主库创建存储过程时,从库会不同步,报错信息如下: 150

SQL Server创建存储过程

什么是存储过程? q 存储过程(procedure)类似于C语言中的函数 q 用来执行管理任务或应用复杂的业务规则 q 存储过程可以带参数,也可以返回结果 q 存储过程可以包含数据操纵语句.变量.逻辑 控制语句等 存储过程的优点 (1)执行速度快. 存储过程创建是就已经通过语法检查和性能优化,在执行时无需每次编译. 存储在数据库服务器,性能高. (2)允许模块化设计. 只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次.存储过程可由在数据库编程方面有专长的人员创建,并可独