لماذا تحتاج طرق عرض SQL Server إلى تحديثها مرة واحدة في حين

StackOverflow https://stackoverflow.com/questions/1272829

  •  13-09-2019
  •  | 
  •  

سؤال

لماذا يجب علي كتابة البرامج النصية "تحديث عرض", وتنفيذها في كل مرة أضيفها أو تحرير بعض الحقول أو تحريرها لعرضها؟

يفهم SQL Server أنه يحتاج إلى تحديث الرأي عند تحريره في Windows VIEW - تحرير Windows في Studio في Studio، فلماذا لا يمكن أن تخبر وجهة نظرها فقط للانتقال إلى تحديث نفسها بعد تحرير العرض من خلال برنامج نصي؟

هل كانت مفيدة؟

المحلول

يجب تحديث وجهات النظر إذا تغير الجداول الأساسية على الإطلاق. يمكن أن يغير ذلك البيانات الخاصة بأعمدة العرض أو إعادة ترتيب فهارسها. لذلك، يحتاج إلى معرفة. خلاف ذلك، كنت تقوم بتشغيل استفسار ضدها، وسوف تفجر بسرعة كبيرة.

يجب أن لا تضطر إلى تشغيل sp_refreshview لتغيير عرض. فقط لتغيير جداولها الأساسية.

أيضا، من فضلك لا تسخر سعيدا الكرة المرح.

تحرير: ركض فقط هذا الرمز (على التوالي) لمحاولة إعادة إنشاء مشكلتك. كنت، لسوء الحظ، غير قادر على، كما كان يعمل كما هو متوقع (SQL Server 2008):

create view MyView
as
select ProductKey, ProductID, ProductName, Price
from dbo.Products

select v.* from MyView v

alter view MyView
as
select ProductKey, ProductID, ProductName, Price*100 as MyPrice
from dbo. Products

select v.* from MyView v

نصائح أخرى

يستخدم مع schemabinding. في تعريف العرض لإزالة الحاجة إلى أي تحديث

وبالقدم مع عرض التغيير، وليس المصمم

تحرير، يوليو 2012، من الرابط أعلاه. بلدي جريئة

مخطط

يربط وجهة نظر مخطط الجدول أو الجداول الأساسية. عند تحديد المخطط، الجدول الأساسي أو الجداول لا يمكن تعديلها بطريقة تؤثر على تعريف العرض. وبعد يجب تعديل أو إسقاط تعريف العرض نفسه أو إسقاطه أولا لإزالة التبعيات على الطاولة التي سيتم تعديلها. عند استخدام المخططات، يجب أن يتضمن Select_Statement أسماء جزءين (Schema.Object) للجداول أو طرق العرض أو الوظائف المعرفة من قبل المستخدم المشار إليها. يجب أن تكون جميع الكائنات المشار إليها في نفس قاعدة البيانات.

المشاهدات أو الجداول التي تشارك في طريقة عرض تم إنشاؤها باستخدام جملة المخططات لا يمكن إسقاطها ما لم يتم إسقاط هذا الرأي أو تغييره بحيث لم يعد لديه ملزم مخطط. خلاف ذلك، فإن محرك قاعدة البيانات يرفع خطأ. أيضا، تنفيذ تغيير بيانات الجدول على الجداول التي تشارك في وجهات النظر التي تحتوي على مخطط ملزم عندما تؤثر هذه البيانات على تعريف العرض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top