存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。
数据库函数是SQL语言中常见的用于管理数据库的技术,包括查询、插入、更新、删除数据等。
1、查看有哪些函数:
\df
2、查看具体的函数内容:
\sf p_test_insert
3、调用存储过程:
call p_test_insert();
4、删除存储过程:
drop procedure
5、模拟UUID函数:
create or replace function uuid_generate_v4()
return varchar
as
declare volatile varchar;
begin
volatile = (select upper(md5(random()::text || clock_timestamp()::text) :: varchar));
return volatile;
end;
6、模拟插入数据
create or replace procedure p_test_insert()
as
declare
i INTEGER := 1;
v_content text := '本篇将介绍Opengauss的数据类型。PostgreSQL的数据类型非常丰富,本章将介绍常规数据类型和一些非常规数据类型,比如常规数据类型中的数字类型、字符类型、日期/时间 类型等';
identityId BIGINT := 200000000001;
BEGIN
WHILE i < 5000000 LOOP
insert into test_insert (id,create_date,content) values (uuid_generate_v4(),now() ,v_content);
-- INSERT 语句
-- 将字符串转为 uuid cast ('057b8c51-f62f-4260-bdbb-' || identityId as uuid)
i := i + 1;
if mod(i,10000)=0 then
commit;
end if;
END LOOP;
END; /