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;bacicCRM*表复制给b5时有些数据没有完全复制过去。对比图如下:

create table user2.tb as select * from user1.tb的应用分析

BBS上查到的资料:这样建表是不会建索引的,看看新表上是不是都没有索引。

解决 1.手动删除user2中的tb

2.使用TOAD,查看并记录下user1中tbscript语句

3.在命令行下以user2用户登录,执行script语句

4.使用sys用户登录TOAD,执行insert  into user2.tb(select  * from user1.tb)

5.OK