关键字
kingbase,存储过程,数据表创建。
问题描述
在金仓数据库KingbaseES中,如何通过存储过程实现动态创建数据表?
解决方案
//创键一个public下的名称为TEMP_EMP_CREATEAB()的存储过程
create or replace procedure public.TEMP_EMP_CREATEAB()
//使用的是plsql语言
LANGUAGE PLSQL
//创建变量创建的表名
AS tablename varchar2(200);
//统计数量
TabCount number;
//创建表的语句
create TableSql varchar2(300);
BIGIN
//为表名赋值
TabName :=‘TEMP_EMP_DATA_’|| TO_CHAR(sysdata,’yyyyMMdd’);
//查询是否有名的表
select count(1) into tabCount from user_tables where table_name=tabName;
//如果没有则继续
if tabCount =0
THEN
//创建表语句
Create TableSql:=’create table ‘||tabName||’(
“ID”varchar(64 byte) not null)’;
//执行表语句
EXECUTE CREATE TableSql;
END IF;
END;