如何按某一字段内容把一个表拆分成多个表?

小超专属 2017-04-28 11:05:04
发现有类似的问题,但是sqlserver,求oracle写法。。原帖地址供参考http://bbs.csdn.net/topics/100034393
有表如下:
ID NAME CLASS
1 AA II
2 BB IV
3 AB IV
4 AC II
5 CC IX
6 SS II
7 AS IX
8 ES IX
---------------------
用什么方法可以把上的表按照class的内容分成多个表
结果如下:
ID NAME CLASS
1 AA II
4 AC II
6 SS II
--------------------
ID NAME CLASS
2 BB IV
3 AB IV
--------------------
ID NAME CLASS
5 CC IX
7 AS IX
8 ES IX
...全文
420 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2017-05-08
  • 打赏
  • 举报
回复
比如用 mysql 去执行,可以参考这个: mysql -e "select distinct concat('create table `', CLASS, '` as select * from tb where CLASS=', quote(CLASS), ';') from tb;" --skip-column-names -u 帐号 -p"密码" 库名 | mysql -u 帐号 -p"密码" 库名
zjcxc 2017-05-08
  • 打赏
  • 举报
回复
可以用这样的 SQL 去生成拆表的 sql,然后执行生成的每1条SQL就行了 (比如存储过程+游标,或者是手工执行,或者是用 mysql 命令行执行)
select distinct concat('create table `', CLASS, '` as select * from tb where CLASS=', quote(CLASS), ';') from tb;
小超专属 2017-04-29
  • 打赏
  • 举报
回复
是求mysql的方法。。不是oracle
a33244 2017-04-29
  • 打赏
  • 举报
回复
好像mysql分表是无法做到的,但是分区可以做到

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧