Oracle12,新增自增主键表和批量插入数据

Oracle12,新增自增主键表和批量插入数据

1、#查询版本

SELECT * FROM v$version;

2、#创建表

python 复制代码
CREATE TABLE USERS_TDE (
    ID            NUMBER(10)    GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    NAME          VARCHAR2(50)  NOT NULL,
    EMAIL         VARCHAR2(100),
    AGE           NUMBER(3),
    SEX           VARCHAR2(10),
    ID_CARD       VARCHAR2(18),
    MOBILE        VARCHAR2(11),
    V_CARD        VARCHAR2(50),
    OFFICE_CARD   VARCHAR2(50),
    ADDRESS       VARCHAR2(200)
)
TABLESPACE TDE_TS;

3、#批量新增数据

批量新增数据:639166

python 复制代码
DECLARE
  TYPE t_rows IS TABLE OF USERS_TDE%ROWTYPE;
  v_data t_rows := t_rows();

  c_total CONSTANT NUMBER := 639166;
  c_batch CONSTANT NUMBER := 5000;
BEGIN
  FOR i IN 1 .. c_total LOOP
    v_data.EXTEND;
    v_data(v_data.COUNT).NAME        := '陈欢';
    v_data(v_data.COUNT).EMAIL       := 'www5@163.com';
    v_data(v_data.COUNT).AGE         := 1;
    v_data(v_data.COUNT).SEX         := 'M';
    v_data(v_data.COUNT).ID_CARD     := '460025198109101501';
    v_data(v_data.COUNT).MOBILE      := '13581696800';
    v_data(v_data.COUNT).V_CARD      := 'SYP618183458';
    v_data(v_data.COUNT).OFFICE_CARD:= '军字第00111209号';
    v_data(v_data.COUNT).ADDRESS     := '北京市朝阳区立水桥北';

    IF MOD(i, c_batch) = 0 THEN
      FORALL j IN 1 .. v_data.COUNT
        INSERT INTO USERS_TDE (
          NAME,EMAIL,AGE,SEX,ID_CARD,MOBILE,V_CARD,OFFICE_CARD,ADDRESS
        ) VALUES (
          v_data(j).NAME,
          v_data(j).EMAIL,
          v_data(j).AGE,
          v_data(j).SEX,
          v_data(j).ID_CARD,
          v_data(j).MOBILE,
          v_data(j).V_CARD,
          v_data(j).OFFICE_CARD,
          v_data(j).ADDRESS
        );
      COMMIT;
      v_data.DELETE;
    END IF;
  END LOOP;

  IF v_data.COUNT > 0 THEN
    FORALL j IN 1 .. v_data.COUNT
      INSERT INTO USERS_TDE (
        NAME,EMAIL,AGE,SEX,ID_CARD,MOBILE,V_CARD,OFFICE_CARD,ADDRESS
      ) VALUES (
        v_data(j).NAME,
        v_data(j).EMAIL,
        v_data(j).AGE,
        v_data(j).SEX,
        v_data(j).ID_CARD,
        v_data(j).MOBILE,
        v_data(j).V_CARD,
        v_data(j).OFFICE_CARD,
        v_data(j).ADDRESS
      );
    COMMIT;
  END IF;

  DBMS_OUTPUT.PUT_LINE('完成,共插入 ' || c_total || ' 条');
END;

4、#查询TDE是否开启

SELECT tablespace_name, encrypted

FROM user_tablespaces

WHERE tablespace_name = 'TDE_TS';

相关推荐
deepin_sir1 小时前
11 - 模块与包
前端·数据库·python
念恒123061 小时前
MySQL索引
数据库·mysql
Lao A(zhou liang)的菜园1 小时前
如何快速诊断Oracle性能问题?
数据库·oracle
铁皮哥1 小时前
【agent 开发】Claude Code 的 Skill 是怎么被加载的?从 name/description 到 SKILL.md 再到资源文件
java·服务器·数据库·python·gitee·github·软件工程
一只fish2 小时前
Oracle官方文档翻译《Database Concepts 26ai》第14章-物理存储结构
数据库·oracle
hhb_6182 小时前
GraphQL实战避坑指南:性能与安全优化
数据库·安全·graphql
一 乐2 小时前
公交线路查询系统|基于Java+vue公交线路查询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·公交线路查询系统
AllData公司负责人2 小时前
亲测丝滑,体验跃迁|AllData通过集成开源项目Datart,让数据可视化一目了然
java·大数据·数据库·python·数据可视化·数据视图·datart
颂love2 小时前
Redis 核心知识点汇总:安装配置 + 9 大数据结构命令与场景
数据库·redis·缓存