Oracle 批量导出表注释和主键

这篇具有很好参考价值的文章主要介绍了Oracle 批量导出表注释和主键。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

–查询分表(目前分了16张表)
–先查询注释为空的表,也就是11表做示例,统计出来以后11批量修改成1
select owner,column_name,comments,table_name
from all_col_comments a
where a.table_name like ‘TB%1’ and a.comments is null;

–批量注释列
SELECT ‘comment on table ‘|| t.table_name||’ is ’ || ‘’’’ ||
t1.COMMENTS ||‘’‘’|| ‘;’
FROM User_Tab_Cols t, User_Col_Comments t1
WHERE t.table_name = t1.table_name
AND t.column_name = t1.column_name(+)
AND t.table_name in (‘表1’,‘表2’,‘表3’);

–批量注释表名
SELECT ‘comment on table ‘|| t.table_name||’ is ’ || ‘’’’ ||
t.COMMENTS ||‘’‘’|| ‘;’
FROM user_tab_comments t
WHERE t.table_name in (‘表1’,‘表2’,‘表3’);

–单独查询主键
select DISTINCT cols.table_name,cols.column_name,cols.position
from all_constraints cons,all_cons_columns cols
where cols.table_name=‘TBAMLBENEFINFO1’
and cons.CONSTRAINT_TYPE=‘P’
AND cons.CONSTRAINT_NAME=COLS.CONSTRAINT_NAME
AND CONS.OWNER = COLS.OWNER ORDER BY COLS.TABLE_NAME,COLS.POSITION;

–导出表名、表名中文、字段名、字段中文、主键
SELECT a.table_name
, c.comments
, a.column_name
, b.comments
, a.data_type
, a.data_length, a.column_id
, case when (listagg(to_char(d.position)) within group(order by d.position)) is null then null else ‘是’ end --修改主键为中文“是”
–listagg(to_char(d.position)) within group(order by d.position) as position --仅展示主键在第几位
FROM user_tab_cols a
LEFT JOIN user_col_comments b
ON a.table_name = b.table_name
AND a.column_name = b.column_name
LEFT JOIN user_tab_comments c
ON c.table_name = b.table_name
LEFT JOIN
(SELECT ucc.table_name
, ucc.column_name
, ucc.position
FROM user_cons_columns ucc
LEFT JOIN user_constraints uc
ON ucc.constraint_name = uc.constraint_name
AND uc.constraint_type = UPPER(‘p’)
) d
ON d.table_name = b.table_name
AND d.column_name = b.column_name
where a.TABLE_NAME like ‘TB%’
group by a.table_name
, c.comments
, a.column_name
, b.comments
, a.data_type
, a.data_length, a.column_id
ORDER BY a.table_name,
a.column_id asc ;文章来源地址https://www.toymoban.com/news/detail-686092.html

到了这里,关于Oracle 批量导出表注释和主键的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • oracle INSERT 批量插入写法

    直接采用mysql那种INSERT批量插入语句的写法,会报 SQL 错误 [933] [42000]: ORA-00933: SQL 命令未正确结束 它可以使用以下方法来批量插入数据: 使用INSERT ALL语句:可以在一条INSERT语句中插入多个记录。使用这种方法,您可以为每个要插入的记录指定值,并一次性将它们插入表中。

    2024年02月22日
    浏览(29)
  • oracle导入导出

    oracle导入导出 1、查询当前创建的所有dmp导出目录     select * from dba_directories; 2、创建expdp导出目录(可不创建,选择已有目录,创建后使用上一命令检查是否创建成功,如果未成功,导出会报错)     create or replace directory dmp as \\\'D:/app/dmp\\\'; 3、创建之后需要授权     grant r

    2024年01月16日
    浏览(30)
  • Oracle导出AWR报告

    一、使用root用户登录Linux服务器 二、切换至oracle用户 执行命令:su – oracle,然后回车 三、使用管理员权限连接数据库 执行命令:sqlplus / as sysdba,然后回车 四、生成报告快照 执行脚本:exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(); 五、导出AWR报告 执行脚本:@$ORACLE_HOME/rdbms/admin/

    2024年02月08日
    浏览(33)
  • 查看Oracle_表名、字段名、注释、进程及杀进程等常用语句

    -- 查看ORACLE 数据库中本用户下的所有表 SELECT table_name FROM user_tables; -- 查看ORACLE 数据库中所有用户下的所有表 select user,table_name from all_tables; -- 查看ORACLE 数据库中本用户下的所有列 select table_name,column_name from user_tab_columns; -- 查看ORACLE 数据库中本用户下的所有列 select user,tabl

    2024年02月09日
    浏览(33)
  • Oracle高速批量速插入数据解决方案

    最近做短信群发项目有一个需求,需要客户大批量(十万级)导入数据. 开始是用insert单条数据,10万条数据要20分钟 后来发现可以用insert all 一条sql一次导入500条记录,这样10万条数据只用了1.5分钟,导入速度提高了近来20倍 下面就使用insert all的心得体会记录如下. 使用方法: 需要注意

    2024年02月08日
    浏览(32)
  • oracle查询数据库内全部的表名、列明、注释、数据类型、长度、精度等

    Oracle查询数据库内全部的表名、列明、注释、数据类型、长度、精度 效果图: 字段排序,根据表名对字段进行排序

    2024年02月06日
    浏览(41)
  • Sqoop(二):Hive导出数据到Oracle

    把Hive中的数据导入Oracle数据库。 1. 解释一下各行代码: 2. 案例: 3. 表多的话,把所有表名存放在文件下,循环跑批每个表 参考: https://codeleading.com/article/51121246034/#google_vignette

    2024年02月10日
    浏览(33)
  • Oracle数据泵备份恢复(导出导入)详细语句

    查询已存在备份目录 新建备份目录 注意 :在本地新建对应的物理目录 给指定用户赋权 按表名导出 还可以根据表的查询条件导出 按表空间导出 按用户导出 全库导出语句 进阶 相关参数介绍 PARALLEL : 指定执行导出操作的并行进程个数,默认值为1,并行度设置不应该超过CPU数的

    2024年02月10日
    浏览(34)
  • MybatisPlus自定义insertBatchSomeColumn实现真正批量插入(Oracle)

    项目由于插入数据量比较大,导致前端请求超时,查看系统代码发现是通过循环单条插入,因此准备先从输入批量写入开始优化,通过查询资料发现有几种方式: 1. 通过实现MybatisPlus IService接口,获取saveBatch, 底层其实是单条插入 2. 通过XML手动拼接SQL实现批量插入, 缺点是每

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包