ビューが依存するテーブルに列を追加すると、名前付きフィールドを持つビューで非常に予期しない影響があります。
SQL:
SELECT dbo.AccessCustomFieldDepartment.AccessCustomFieldDepartmentID, dbo.AccessCustomFieldDepartment.AccessCustomField_StoreID,
dbo.AccessCustomFieldDepartment.AccessCustomField_ShopOwner, dbo.AccessCustomFieldDepartment.AccessCustomField_CVRnumber,
dbo.AccessCustomFieldDepartment.AccessCustomField_OpenMonToWed, dbo.AccessCustomFieldDepartment.AccessCustomField_OpenMonToThu,
dbo.AccessCustomFieldDepartment.AccessCustomField_OpenMonToFri, dbo.AccessCustomFieldDepartment.AccessCustomField_OpenMonToTue,
--..
--a bunch of other fields
--..
dbo.AccessUser.AccessUserAddress, dbo.AccessUser.AccessUserAddress2, dbo.AccessUser.AccessUserZip, dbo.AccessUser.AccessUserCity,
dbo.AccessUser.AccessUserCountry, dbo.AccessUser.AccessUserWeb
FROM dbo.AccessUser INNER JOIN
dbo.AccessCustomFieldDepartment ON dbo.AccessUser.AccessUserID = dbo.AccessCustomFieldDepartment.AccessCustomFieldDepartmentID
他の人々のコードがテーブルAccessUserに列を動的に追加すると、サーバーまたは何かがビューのSQLを変更します!
例えば:
dbo.AccessUser.AccessUserCountry, dbo.AccessUser.AccessUserWeb
に変更されます
dbo.AccessUser.AccessUserCountry AS AccessUserCity,
dbo.AccessUser.AccessUserWeb AS AccessUserCountry
これは、結果として得られるデータのプレゼンテーションを大幅に改善します....ビューがそれぞれの列の位置を維持しようとするのと同じです。
列を削除すると、魔法のようにSQLが元に戻ります。
質問は次のとおりです。
- 何が起こっている?サーバーですか?CMS ソフトウェアの一部の機能 (フィールドの追加機能がある場所)
- ビューを設定して、SQL ステートメントを 100% 静的にすることはできますか?
よろしく、
スティーン