zoukankan      html  css  js  c++  java
  • 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的查询语句没保存下来,有需要的可以自己百度

      

  • 相关阅读:
    Java原生网络编程
    网络协议
    SQL优化
    执行计划
    UDP client,UDP server, TCP server, TCP client
    Java使用TCP聊天程序
    Java使用UDP聊天程序
    First Bad Version
    对SNMP4J的一些封装
    Eclipse swt开发环境搭建
  • 原文地址:https://www.cnblogs.com/aDoc/p/12884213.html
Copyright © 2011-2022 走看看