3
XSD模式我有一个SQL SELECT语句:是否有SQL Select语句
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>
但是,我不满意它。找到用于SQL SELECT语句的XSD要复杂得多。它们在SQL SELECT语句中有许多我没有包括的特性,例如:Aggregates,Inner/Outer Join,Between,IN,Sub Select等。
设计这样的模式已经超出了我的能力。有没有人知道是否有这样的XSD到SQL Select语句表示?
+1 Antlr之前的妇女和儿童 – 2010-01-22 03:24:55
我不认为在编程语言中使用xml是一个糟糕的主意。在Delphi中,我可以从XSD生成xml文档类。我不打算解析SQL,但我只是寻找能够呈现SQL Select语句的XSD。从那里,如果我想从数据库中查询,我可以使用XSLT生成一条SQL语句。或者我可以创建一个SQL编辑器,以编程方式帮助我形成SQL select语句。 – 2010-01-22 05:43:49
@Chau Chee Yang:也许你应该查看开发SQL编辑器的开源项目...可能会有一些使用xsd模式。 – Filburt 2010-01-22 12:27:40