sqlplus表结构查询

  • 背景。
    1. 需要知道目标表名。所属用户。
    2. 目标库和源库同属一类数据库, oracle。
    3. 使用的数据融合系统,在ogg加持下还需要手动在目标库创建表结构
  • 登录目标库sqlplus,使用sqlplus / as sysdba查询建表语句
  • 执行以下语句进行查询查询指定 用户 和 表名查询
-- 设置输出格式(在 SQL*Plus 中执行)
SET LONG 1000000       -- 确保完整显示长文本
SET PAGESIZE 0         -- 禁用分页
SET LINESIZE 200       -- 调整行宽(可选)

-- 获取 DDL(替换 YOUR_TABLE_NAME 和 OWNER)
SELECT DBMS_METADATA.GET_DDL('TABLE', 'YOUR_TABLE_NAME', 'OWNER') FROM DUAL;
  • 指定用户查询
  • 向deepseek提问

在这里插入图片描述

SELECT 
  t.OWNER AS "用户名",
  t.TABLE_NAME AS "表名",
  c.COMMENTS AS "表说明"
FROM 
  ALL_TABLES t
LEFT JOIN 
  ALL_TAB_COMMENTS c 
  ON t.OWNER = c.OWNER 
  AND t.TABLE_NAME = c.TABLE_NAME
  AND c.TABLE_TYPE = 'TABLE'
WHERE 
  t.OWNER = UPPER('用户名')  -- 替换为实际用户名
  AND t.TABLE_NAME NOT LIKE 'BIN$%'  -- 排除回收站中的表
ORDER BY 
  t.TABLE_NAME;
  • 查询表字段说明
SELECT
    t.TABLE_NAME AS "表名",
    c.COLUMN_NAME AS "字段名",
    com.COMMENTS AS "字段描述"
FROM
    ALL_TABLES t
JOIN
    ALL_TAB_COLUMNS c ON t.OWNER = c.OWNER AND t.TABLE_NAME = c.TABLE_NAME
LEFT JOIN
    ALL_COL_COMMENTS com ON c.OWNER = com.OWNER 
                          AND c.TABLE_NAME = com.TABLE_NAME 
                          AND c.COLUMN_NAME = com.COLUMN_NAME
WHERE
    t.OWNER = '您的用户名'  -- 替换为实际用户名(如:SCOTT)
ORDER BY
    t.TABLE_NAME,
    c.COLUMN_ID;  -- 按表内字段顺序排序
  • 总结。
    1. 在目标库获取到表结构后在源库进行了创建。较顺利。
    2. 创建后抽取出现问题。源库数据 => 目标库。目标字段长度不够。这个是由于数据库字符集导致,需要进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡斌附体

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值