create table user2.tb as select * from user1.tb的应用分析
此篇文章接着上篇:
开发商管理—编辑:成功
开发商管理—查询:成功
开发商管理—新增:显示成功,后台数据得到保存,但是页面没有即刻显示。-----需要进一步测试
1) 初步分析发现是新增时status为空,而进行查询操作时的SQL为:select count(*) from crm_developers cd where cd.status='0'
2) 手动将新添加的wwww开发商的status改成0,但是页面还是只查到29行数据(应该是30)。Toad中查询显示出有30行数据,命令行中也之查询到29行
select * from b5.crm_developers cd where cd.developer_name = 'wwww'
select count(*) from b5.crm_developers cd where cd.status='0'
3) 退出TOAD,有个提示框,大概意思是数据已更新是否commit提交,点击commit,问题解决
找到了原因,进一步分析结果。
新增数据的STATE/STATUS问题原因:
直接使用create table user2.tb as select * from user1.tb;将bacic的CRM*表复制给b5时有些数据没有完全复制过去。对比图如下:
BBS上查到的资料:这样建表是不会建索引的,看看新表上是不是都没有索引。
解决 1.手动删除user2中的tb表
2.使用TOAD,查看并记录下user1中tb表的script语句
3.在命令行下以user2用户登录,执行script语句
4.使用sys用户登录TOAD,执行insert into user2.tb(select * from user1.tb)
5.OK