zoukankan      html  css  js  c++  java
  • oracle 将一个数据库(A)的表导入到另一个数据库197

    1. oracle 将一个数据库(A)的表导入到另一个数据库  concat没有mysql的好使   

    2. 解决需求:通过建表的形式,将数据库A的表结构,在另一个数据库中创建

    --查询表字段
    select * from all_tab_columns WHERE  TABLE_NAME=='用户表名'
    
    --拼接建表sql语句
    SELECT
        CONCAT(
            'CREATE TABLE  "ZHILICENG".',
            CONCAT(
                concat(
                    '"',
                concat( TABLE_NAME, '"' )),-- 表名加""
                concat(
                    ' (',
                    concat(
                        ' ',
                        concat(
                            wm_concat (
                                CASE-- 这里根据不同字段生成不同的默认值
                                    
                                    WHEN column_name = 'ID' THEN -- 如果column_name为id则加一个自动生成id函数  并且不为null
                                    '"' || column_name || '"' || ' ' || DATA_TYPE || '(' || DATA_LENGTH || ') DEFAULT sys_guid () NOT NULL' 
                                    WHEN column_name = 'ADD_DATE' THEN -- 如果column_name为ADD_DATE则加一个自动当前时间 
                                    '"' || column_name || '"' || ' ' || DATA_TYPE || '(' || DATA_LENGTH || ') DATE DEFAULT SYSDATE ' 
                                    ELSE '"' || column_name || '"' || ' ' || DATA_TYPE || '(' || DATA_LENGTH || ')'  --否则拼接字段名、字段类型、字段大小
                                END 
                                ),
                                ')' 
                            ) 
                        ) 
                    ) 
                ) 
            ) AS createTable 
        FROM
            all_tab_columns 
        WHERE
            TABLE_NAME IN ( 
            -- 查询原始曾现有的表  而治理层不存在的表
            SELECT TABLE_NAME FROM all_tables WHERE owner = 'YUANSHICENG' AND TABLE_NAME NOT IN ( SELECT TABLE_NAME FROM all_tables WHERE owner = 'ZHILICENG' ) 
            ) 
    GROUP BY
        TABLE_NAME
  • 相关阅读:
    C++-struct类的新特性当class用
    rbenv、fish 與 VSCode 設置之路
    angularJS进阶阶段(4)
    插入排序
    Vimium
    Design Patterns 25
    Mysql(或者sqlite), Mongo中update Column + 1
    Hexo
    继承
    Gradle的依赖方式——Lombok在Gradle中的正确配置姿势
  • 原文地址:https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/13932434.html
Copyright © 2011-2022 走看看