当前位置: 首页 > news >正文

Oracle 复制表结构(含索引、主键)操作指南

Oracle 复制表结构(含索引、主键)操作指南

1. 复制基础表结构

-- 创建空表结构(不复制数据)
CREATE TABLE new_table AS 
SELECT * FROM old_table 
WHERE 1=0;

2. 复制主键约束

-- 查询原表主键信息
SELECT constraint_name, column_name
FROM user_cons_columns
WHERE table_name = 'OLD_TABLE'
AND constraint_name IN (
    SELECT constraint_name
    FROM user_constraints
    WHERE table_name = 'OLD_TABLE'
    AND constraint_type = 'P'
);

-- 创建新主键(需替换实际约束名和列名)
ALTER TABLE new_table 
ADD CONSTRAINT new_pk_constraint PRIMARY KEY (column1, column2);

3. 复制索引

-- 查询原表索引信息
SELECT index_name, column_name, index_type, uniqueness
FROM user_ind_columns
JOIN user_indexes USING (index_name)
WHERE table_name = 'OLD_TABLE';

-- 创建新索引(示例)
CREATE INDEX new_idx_name ON new_table (column_name);
CREATE UNIQUE INDEX new_uniq_idx ON new_table (column1, column2);

4. 复制其他约束(可选)

-- 检查约束示例
ALTER TABLE new_table 
ADD CONSTRAINT chk_salary CHECK (salary > 0);

-- 唯一约束示例
ALTER TABLE new_table 
ADD CONSTRAINT uniq_email UNIQUE (email);

注意事项

  1. 对象命名冲突:建议为新约束/索引添加前缀(如 new_pk_

  2. 权限需求:需要 CREATE TABLE CREATE INDEX 权限

  3. 未包含对象:

    • 不会自动复制外键约束

    • 不包含触发器、序列等对象

    • 不复制表注释和列注释

  4. 数据存储参数:默认使用当前用户的表空间设置


文章转载自:

http://wrYBE2Ds.mLnby.cn
http://62FRN555.mLnby.cn
http://qJZ8BxvZ.mLnby.cn
http://Aosk9pw0.mLnby.cn
http://iYjJNGpI.mLnby.cn
http://Y1KeFCkB.mLnby.cn
http://G1D8qTx4.mLnby.cn
http://33zJrE3f.mLnby.cn
http://RhbOQkuF.mLnby.cn
http://xsoisPtB.mLnby.cn
http://24CIwhMT.mLnby.cn
http://Mn0LcI0C.mLnby.cn
http://PonoOMWQ.mLnby.cn
http://mn62SzZu.mLnby.cn
http://LKN4sRS9.mLnby.cn
http://6oFwqqma.mLnby.cn
http://c1x9Di2U.mLnby.cn
http://HwamZF1f.mLnby.cn
http://lno1F3dY.mLnby.cn
http://1XHGiWmW.mLnby.cn
http://yRGgoKHO.mLnby.cn
http://gu7T6AvO.mLnby.cn
http://JK5yxuRr.mLnby.cn
http://2yuHFSUy.mLnby.cn
http://fHedMlzw.mLnby.cn
http://i64ocZn0.mLnby.cn
http://GtAYePrR.mLnby.cn
http://JcxXZImF.mLnby.cn
http://2G6cOThT.mLnby.cn
http://eAvxH9h8.mLnby.cn
http://www.dtcms.com/a/127846.html

相关文章:

  • 池式结构---内存池
  • 企业年报问答RAG挑战赛冠军方案:从零到SotA,一战封神
  • AI 大语言模型 (LLM) 平台的整体概览与未来发展
  • #关于数据库中的时间存储
  • 006.Gitlab CICD流水线触发
  • Python实现链接KS3,并批量下载KS3文件数据到本地
  • MySQL数据库备份与恢复详解
  • 21 天 Python 计划:MySQL索引机制从基础到应用
  • 人事招聘专员简历模板
  • 谷歌开源代理开发工具包(Agent Development Kit,ADK):让多智能体应用的构建变得更简
  • 【区分定语从句和同位语从句】
  • 普瑞PS8742B
  • 【JavaScript】对 Proxy 与 defineProperty 的理解和运用场景
  • DeepSeek大语言模型部署指南:从基础认知到本地实现
  • 使用Python从零开始构建端到端文本到图像 Transformer大模型
  • STM32F103复用JTAG/SWD引脚为GPIO
  • 数学建模:针对汽车行驶工况构建思路的延伸应用
  • 大模型SFT用chat版还是base版 SFT后灾难性遗忘怎么办
  • 大模型常见面试题
  • 上篇:新能源轻卡城配物流经济/动力模式量化定义(理论篇)——数学暴力破解工程困局
  • 十六、Linus网络编程基础
  • 【学习笔记】服务器上使用 nbconvert 将 Jupyter Notebook 转换为 PDF
  • 北邮LLMs在导航中的应用与挑战!大模型在具身导航中的应用进展综述
  • go语言内存泄漏的常见形式
  • Day-03 前端 Web-Vue Axios 基础
  • docker部署scylladb
  • 鲁大师绿色版,纯净无广告
  • 统计当前页面的localStorage使用了多少空间
  • FATFS文件系统配置
  • Sa-Token v1.42.0 发布 [特殊字符],新增 API Key、TOTP 验证码、RefreshToken 反查等能力