免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3202 | 回复: 11
打印 上一主题 下一主题

[文本处理] 比较两个表的结构,这个用正则表达式行么? 请详看如下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-20 19:25 |只看该作者 |倒序浏览
比如A表语句
create table A(
x char(1) not null,
y char(2) null,
primary key(x)
)

create table B(
x char(1) not null,
y char(2) null,
z char(3) null,
primary key(x)
)

我的想法是:加入这两个建表语句分别在A.txt ,B.txt 中
然后采用正则表达式分别将这两个表序列化(如A|x char(1) ... )(B|x char(1) ....) ,然后再比较是否相同就可以了。
请教高手帮忙实现。谢谢!!




论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
2 [报告]
发表于 2016-06-20 19:34 |只看该作者
没听懂你想说啥, 比较表结构 比较啥?
字段数量? 字段类型?  是否拥有主键? 字符型字段的长度? 能否为空?

论坛徽章:
0
3 [报告]
发表于 2016-06-20 19:39 |只看该作者
回复 2# sunzhiguolu

场景: 两个表 的表结构定义 比较。 比如字段区别,字段类型区别,是否为空区别,主键定义区别 。。。只要有区别就给标出来这两个表有区别就行。我想还是把这个表定义弄成序列化的东西,估计才行。 有没有其他方法,如数据库(sybase)提供了命令工具?


   

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [报告]
发表于 2016-06-20 19:49 |只看该作者
回复 3# whgloveu

>> ...比如字段区别,字段类型区别,是否为空区别,主键定义区别 。。
   
给个例,说明呗...
怎么区别不同,要得到什么打印结果...

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
5 [报告]
发表于 2016-06-20 19:52 |只看该作者
回复 3# whgloveu
你说的这个事情, 大部分的功能只能依靠编程语言才能搞定, 正则在这里只能发挥一小部分作用.

   

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
6 [报告]
发表于 2016-06-20 20:31 |只看该作者
回复 3# whgloveu
你给 Jason680 大神详细说下,
给个例,说明呗...
怎么区别不同要得到什么打印结果


   

论坛徽章:
0
7 [报告]
发表于 2016-06-21 09:20 |只看该作者
回复 4# jason680

大神,一句话,就两个表的建表结构只要不一样 ,就给比较出来,显示结果也可以为标志位,不必是具体的信息。这样说行不?


   

论坛徽章:
0
8 [报告]
发表于 2016-06-21 10:22 |只看该作者
回复 5# sunzhiguolu


    谢谢,你说的对。正按你的思路在做。

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
9 [报告]
发表于 2016-06-21 10:30 |只看该作者
常用的DB应该都有比较table schema的工具,用正则毕竟是野路子。

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
10 [报告]
发表于 2016-06-22 23:04 |只看该作者
回复 4# jason680
大神, 您能否用 perl 代码演示下如何进行比较, 我一点头绪都没有 还请您指点, 谢谢您...

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP