2012-01-23 11 views
2

私が知りたいのは、C#サポートのリフレクションのような、SQL Server 2008のリフレクションサポートがあることです。基本的には、SQL Serverが(where、orderby、exists)節をどのように実装しているのか不思議です。どのようにしてこれらのすべてを舞台裏で実装するのか。SQL Server 2008のリフレクション?

+1

SQL ServerのT-SQL言語は** .NETではなく、Reflectionのようなものはありません。 SQL Serverは*システムカタログビューを持っています*さまざまなデータベースオブジェクトを記述します( "反射"に最も近いと思います) –

答えて

2

SQLServerをほとんどのオブジェクト指向言語と比較すると、SQLServerが内部よりも多くのことを明らかにしていることに驚いたでしょう。

SQLとトランザクションデータベースの概念に固有のもので、データベースの動作方法に関する多くの情報がデータベース自体に格納されています。すべてのテーブルは、たとえば、システムデータベースのテーブルの行や、すべての列、ストアドプロシージャなどで表されます。

しかし、最近ではSQLServerはC#には及ばないが、逆の結論になるかもしれない。

あなたは、クラスについての情報を参照してブラウズすると、デモクリットの意味で「原子」を打ち負かすことができます。コアのIL命令で処理されるか、または外部で定義され、実装の中にそれ以上のものが見えます。 SQLServerには、.NETよりもどのように機能するかを知ることができない多くの機能があります。

PostgreSQLを見てみると、機能の多くがどれだけ目立つのかが少し分かります。