5

巷では、Perl は仕様によって定義されているのではなく、現在のインタプリタのバージョンがたまたま受け入れているものによって定義されているということです。ここで、TSQL のような SQL ダイアレクトを考えてみましょう。バリデーターを SQL Server 内のものと同等にすることを可能にする公開された仕様はありますか? そのようなバリデータはオープンソースとしてすでに存在していますか? オラクルについても同じ質問です。

OK、MySQL の場合、バリデーターは MySQL コードベースから直接抽出できると思います。それにもかかわらず、私が独自のバリデータを作成したい場合に備えて、彼らは実際に仕様自体を公開していますか?

4

1 に答える 1

1

あなたは MySQL のために何をすべきか考えているようです。Oracle については、大部分が ANSI SQL を実装していることと、SQL に対する PL/SQL 手続き型言語の拡張機能がOracle 9i 用にほとんどここで見つかることを除けば、あまり多くを語ることはできません。

SQL サーバーの場合:

Microsoft Books On Line (BOL) は、公式の参照仕様です。ただし、SQL Server のバージョンごとに異なるページがあります。これに関連するいくつかのプロジェクトがあります。 http://www.sqlparser.com/ - これには、Oracle、DB2、Mysql、および SQL Server / Sybase (T-SQL) 用の .NET、Java、COM、および VCL バージョンがあります。価格もかなりリーズナブル。

http://www.codeproject.com/Articles/1136/SharpHSQL-An-SQL-engine-written-in-C (c#)

http://antlr.org/ - これは良い賭けのようです。

私はこのサイトを SQL の書式設定によく使用しますが、かなり大雑把ではありますが、いくつかの検証も行っています: http://www.dpriver.com/pp/sqlformat.htm

これは同様のサイトです: http://www.tsqltidy.com/

SQL のバリエーションの 1 つだけでも、SQL のバリデーターを作成するのは大変な作業です。ANSI SQL のさまざまな ISO/IEC 標準を調べることができます。ANSI SQL-92 は非常に広く実装されていますが、SQL:2008 標準もあります。ただし、これらの標準のドキュメントには料金を支払う必要があり、安くはありません。

幸運を。

于 2012-06-25T04:42:56.657 に答える