DWS测试实践:批量构造数据
【摘要】 批量构造测试数据
创建测试表
drop table if exists t1;
-- 创建测试表
create table t1 (id int,c1 text, c2 text, c3 text, c4 text, c5 text, c6 text, c7 text);
批量插入数据
drop procedure if exists insert_record;
-- 创建存储过程
create or replace FUNCTION insert_record(n int)
RETURNS void AS $$
DECLARE
sql text;
count int;
BEGIN
count := 0;
WHILE count < n LOOP
count := count + 1;
sql := 'INSERT INTO t1 (id, c1, c2, c3, c4, c5, c6, c7)';
sql := sql || 'VALUES (' || count || ', ''20201213'', ''JM10697'', ''JM10697_20181205152406_1217'', ''18204119'', ''Accessories'', ''HUAWEI CLOUD'', ''DWS is a distributed, high-performance database system.'')';
EXECUTE sql;
END LOOP;
END;
$$ LANGUAGE plpgsql;
-- 执行插入
call insert_record(100);
批量建分区
drop procedure if exists create_ptable;
-- 创建存储过程
create or replace FUNCTION create_ptable(m int,n int)
RETURNS void AS $$
DECLARE
sql text;
BEGIN
FOR i IN 1..m LOOP
sql := 'CREATE TABLE t' || i || '( c1 int,c2 int) PARTITION BY RANGE(c1) (';
FOR j IN 1..n LOOP
sql := sql || 'PARTITION p' || j || ' VALUES LESS THAN(' || j || ')';
if j != n then
sql := sql || ',';
end if;
END LOOP;
sql := sql || ');';
EXECUTE IMMEDIATE sql;
END LOOP;
END;
$$ LANGUAGE plpgsql;
-- 执行插入
call create_ptable(3, 3);
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)