代码之家  ›  专栏  ›  技术社区  ›  Chau Chee Yang

是否有用于SQL Select语句的XSD架构

  •  3
  • Chau Chee Yang  · 技术社区  · 16 年前

    我有一个SQL选择语句:

    SELECT Code, Description
      FROM Table1
     WHERE (Code='a' and Amount>100) or (Code='b' and Amount<100)
    

    我希望使用XML来呈现SELECT语句。这是我的初步设计:

    <select table="Table1">
        <columns>
            <column name="Code"/>
            <column name="Description"/>
        </columns>
        <filters>
        <or>
          <and>
            <filter field="Code" cond="eq" value="a"/>
            <filter field="Amount" cond="gt" value="100"/>
          </and>
          <and>
            <filter field="Code" cond="eq" value="b"/>
            <filter field="Amount" cond="lt" value="100"/>
          </and>
        </or>       
        </filters>
    </select>
    

    但是,我不满意。找一个xsdforsqlselect语句要复杂得多。我还没有在SQL SELECT语句中包括许多特性,例如:聚合、内部/外部连接、中间、内部、子选择等。

    我无法设计这样的模式。有人知道是否存在这样的XSD to for SQL Select语句表示吗?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Dónal    16 年前

    我希望使用XML来呈现SELECT语句。

    但是你呢 使用XML?如果不这样做,就不应该这样做,因为使用XML作为编程语言的定义是一个非常糟糕的想法。甚至XML也不使用XML来实现 own query language

    Antlr 是可用于定义此类语法的工具。