人大金仓数据库存储过程实现动态创建数据表

//创建一个public下的名称为TEMP_EMP_CREATETAB()  的存储过程

CREATE OR REPLACE  PROCEDURE PUBLIC.TEMP_EMP_CREATETAB() 

// 使用的是plsql 语言
 LANGUAGE PLSQL

//创建变量创建的表名
AS     tabName VARCHAR2(200);

//统计数量
      tabCount NUMBER;

//创建表的语句
      createTableSql VARCHAR2(300);
 BEGIN 

//为表名赋值
    tabName := 'TEMP_EMP_DATA_' || TO_CHAR(sysdate, 'yyyyMMdd');
//查询是否有同名的表    

SELECT COUNT(1) INTO tabCount FROM user_tables WHERE TABLE_NAME = tabName;
//如果没有则继续    

if tabCount = 0 THEN

//创建表的语句
    createTableSql := 'CREATE TABLE '||tabName||'(
        "ID" VARCHAR(64 byte) NOT NULL   
    )';

//执行建表语句
    EXECUTE createTableSql;
   END IF;
END;

 

本文借鉴了网上一篇ORACLE的存储过程后自己改写。

你可能感兴趣的:(kingbase8)