Oracle中表结构和表内容复制
处理该问题注意以下几点:
1. 清空表中数据SQL:truncate table table_name;
2.复制表结构SQL:create table table_name1 as select * from table_name2 where 1=0;
如同时复制内容和创建该表,SQL为:create table table_name1 as select * from table_name2;
3.在sql语句中,时间date类型可以直接比较。
4.select into from结构不太适合,因为PL/SQL会报keyword异常。
所以推荐使用insert into 结构,该结构可以加条件,效率也很高:样例SQL如下:
insert into test_lcpol select * from b2b_lcpol b2b where b2b.etl_datatime > (select nvl(max(intf.etl_datatime), date '2012-09-27') from test_lcpol intf);
解析该SQL:>后面查询的结果就是一个date类型时间,前面是insert into 结构复制表内容。
5.附加Oracle基本知识点:
增加表的一个字段:alter table test_name add ETL_DATATIME date
修改表的一个字段:alter table 表名 modify 字段名 varchar2(长度)
样例SQL:alter table test_name modify WORKTYPE varchar(80);
修改表的一个字段设置为可一置空:alter table table_name modify BIRTHDAY null;
最新文章
- CoreCRM 开发实录——开始之新项目的技术选择
- N-Queens
- 让 http 2来得更猛烈些吧
- JAVA 1.2(原生数据类型 Primitive Data Type)
- 初学HTML5、初入前端
- eclipse开发环境搭建
- Tom and paper
- dll 导出函数名的那些事
- java web工程读取及修改配置文件
- (笔记)angular选项卡变色
- python实现全角半角的相互转换
- redis的sets类型
- DJANGO和UIKIT结合,作一个有进度条的无刷新上传功能
- ubuntu 14.04 修改PS1提示符
- Lua table使用
- LDAP禁止匿名访问
- HTML页面规范分解
- Python之路3Day
- python爬虫之获取验证码登陆
- bootstrap select2 使用简单介绍