2
假設我有一個包含許多子類型表的超類型表。我有興趣使他們不相交子類型,因爲超類型表只指向每行可能的子類型表中的一個。在網絡上,我遇到了子類型鑑別器的描述,這是一個放入超類型表中的新列,它是一個小代碼(通常是一個字符),用於標識該行屬於哪個子類型。子類型鑑別器如何使用?
我在實踐中找不到任何實際的例子。如果我在C#中工作,我想查詢表的子類型鑑別器列,然後針對某個鍵 - >值列表([sub type discriminator] - > subtype_table_name)進行測試以創建正確的SQL以加入正確的表?
或者,SQL Server中是否存在用於此目的的一些查看/ SQL查詢語法?
基本上,我想知道在哪個級別上我必須真正執行邏輯來使鑑別器有用。
謝謝,我將在稍後嘗試您的答案。我會將問題留出一段時間,以查看是否有其他人有任何輸入。 – user17753
我在sql server 2005的一些虛擬DB上試過這個。它似乎工作正常,但並不完全確定你對非保證部分的含義。 – user17753
我在做一個關於表現的聲明。我希望我發佈的查詢只能在運行時訪問Root和各個子進程(與只訪問所有表相對比)。 – usr