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';

相关推荐
数据库急诊室_阿哲4 小时前
一次加索引建议的复核记录:从报告到签字
数据库·ai数据库
青瓦梦滋4 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
慧都小妮子5 小时前
Wyn商业智能国产数据库适配:数据接入、分析缓存与审计日志验证清单
数据库·数据分析·数据可视化·审计日志·商业智能
Joy T6 小时前
Redis Lua 原子限流:Lua 脚本、竞态条件与并发控制
数据库·redis·lua·限流·竞态条件·redis scripting
杨凯凡6 小时前
MySQL 死锁怎么排查?InnoDB 锁等待与 Spring Boot 整事务重试实战
数据库·spring boot·mysql
Aloudata6 小时前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent
Decay__6 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
zhanghaha13147 小时前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#
韩曙亮7 小时前
【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )
android·数据库·adb·安卓·错误记录
瑞雪兆丰年兮7 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web