• Oracle&SQL Server 表名、字段查询


    最近工作需求,需求将SQLServer 中的表及数据移转到Oracle数据库

    简述一下遇到的问题及解决方案,问题很多,整理一下,后续可能会慢慢更新

    1. 时间类型不同,转到Oracle 中后会显示为 TIMESTAMP(6),需改为date 类型

    Oracle 
    select a.table_name,b.COLUMN_NAME,b.DATA_TYPE  from user_tables a
            left join user_tab_columns b on a.table_name=b.table_name
            where b.DATA_TYPE='TIMESTAMP(6)';
    		
    SQL Server
    select b.name ColumnName,c.name SystemTypeName,a.name tablename,b.precision,b.scale from sys.tables a
    left join sys.columns b on a.object_id=b.object_id
    left join sys.types  c on b.system_type_id=c.system_type_id
    where c.name='date';
    alter table EQUBASEINFO modify STARTDATE Date;//默认类型修改

    2. 写入数据时,发现默认值为空,

    Oracle 
    select a1.table_name,a1.COLUMN_NAME,b1.data_default from (
        select a.table_name,b.COLUMN_NAME,b.DATA_TYPE,b.NULLABLE
            --,c.data_default 
            from user_tables a
            left join user_tab_columns b on a.table_name=b.table_name
            -- WHERE a.TABLE_name=''
        ) a1
        right join 
        (select a.table_name,a.COLUMN_NAME,a.data_default from (select * from USER_TAB_COLS where data_default is not null) a) b1
        on a1.table_name=b1.table_name
        where 1=1  -- and a1.TABLE_name='';
    alter table EQUBASEINFO modify (STARTDATE default sysadte); //默认值修改
    SQL的查询语句没保存下来,有需要的可以自己百度

      

  • 相关阅读:
    python设置环境变量(临时和永久)
    python items和setdefault函数
    Django学习day3——Django的简单使用
    DOS打印目录树到文件
    Django学习day2——Django安装与环境配置
    Django学习day1——Django的简单介绍
    sets,relations,and fuctions
    lecture 1
    number theory
    lecture 9.18
  • 原文地址:https://www.cnblogs.com/aDoc/p/12884213.html
Copyright © 2020-2023  润新知