WEB开发网
开发学院数据库MSSQL Server 从Oracle到Sql Server -Sql智能翻译器 阅读

从Oracle到Sql Server -Sql智能翻译器

 2005-10-31 16:25:42 来源:WEB开发网   
核心提示: 2. COMPOSITE(组合)—对象结构型模式:将对象组合成树形结构以表示“部分-整体”的层次结构,C o m p o s i t e使得用户对单个对象和组合对象的使用具有一致性,从Oracle到Sql Server -Sql智能翻译器(2),从上面的Sql语句的语法结构可以看到一个查询语句可能是很简单的selec

  2. COMPOSITE(组合)—对象结构型模式:将对象组合成树形结构以表示“部分-整体”的层次结构。C o m p o s i t e使得用户对单个对象和组合对象的使用具有一致性。

从上面的Sql语句的语法结构可以看到一个查询语句可能是很简单的select * from ATable,也可能在sql里面又包含其他的Sql语句。按照组合优先于继承的规则,并没有给单独的Sql和复合的Sql语句创建不同的类,而是在内部组合并递归引用自己的定义,对访问语法树的客户代码来说,并不需要了解所访问的Sql语句是否存在复合结构。

  3. VISITOR(访问者)—对象行为型模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

  前面已经通过解释器模式解析Sql语法,用组合模式来存储解析的语法树,但是我们所需要的不仅如此。还要按照SqlServer的语法结构把语法树上的各个节点重新组合,最终输出SqlServer上可以执行的Sql语句。例如:Oracle(大型网站数据库平台)中的一句连接查询select a.*,b.* from a,b where a.id=b.id(+),在SqlServer中对应的语句应该是select a.*,b.* from a left join b on a.id=b.id。


Tags:Oracle Sql Server

编辑录入:coldstar [复制链接] [打 印]
赞助商链接