יצירת view דינאמי

מiטקה

New member
יצירת view דינאמי

שלום רב,
יש לי בסיס נתונים בו בכל שבוע נוצרת טבלה חדשה ומתעדכנים בה הנתונים מהשבוע הנוכחי (מפאת עומס),
אני מעוניין ליצור view שיחזיר לי את הנתונים של החודש האחרון (פחות או יותר) ולכן אני מעוניין להגדיר view שבאופן דינאמי יידע להחזיר union all על חמשת הטבלאות האחרונות.
אני יודע איך לזהות את השמות של חמשת הטבלאות האחרונות לפי התאריך הנוכחי אבל אני לא יודע איך לגרום ל view להיות דינאמי כך שבכל שבוע הוא ישתנה לפי הטבלאות האחרונות.
הצלחתי ליצור Procedure דינאמי שבו יצרתי שאילתא שמשתנה כתלות בתאריך ועושה Exec sp_executesql על השאילתא.
האם זה אפשרי ליצור כזה view?
אם לא, האם אפשרי ליצור Function?
תודה רבה
 

matanyungman

New member
Job שבועי

היי,
ניתן ליצור Job שבועי שיעדכן את ה-View להגדרה הנכונה.
ה-Job יוכל להשתמש ב-Stored Procedure שבצורה דינמית ייצר את ה-View לפי הזמנים הרלוונטיים.
 

מiטקה

New member
תודה רבה

אני אעשה את זה רק בצורה קצת שונה
אני אעדכן את ה View אחרי כל יצירה של טבלה חדשה.
 

pitoach

New member
את הפעולה של עדכון ה VIEW את יכולה לבצע אוטומטית


ה VIEW לא יהיה דינאמי, אבל העדכון שלו כן. אם זה הכיוון שלך אז את יכולה לחפש עוד חומר על הנושא של DDL trigger.
&nbsp
 

pitoach

New member
בוקר טוב,

יש לך בילבול קטן במושגים אני חושב.
VIEW הוא אלמנט פיזי במסד הנתונים (כמו שיוצרים טבלה שהיא אלמנט). ה VIEW אינו דינאמי אבל מה שאפשר לעשות זה שאילתה בתוך ה VIEW שהיא דינאמית, וזה כניראה מה שאתה מחפש (אפשר גם ליצור את ה VIEW בצורה אוטומטית על ידי הצמדה של הביצמוע לאירוע כלשהו כמו למשל טריגר על DDL).
&nbsp
תנסה לחקרוא יותר על שאילתות דינמיות ופשוט תכין שאילתה דינאמית. בשלב הראשון תאתר את כל הטבלאות הרלוונטיות, ובשלב השני תיצור שאילתה דינאמית שכוללת בחירה של נתונים מכל הטבלאות, או שפשוט תעבוד בתוך ה VIEW עם הפרוצדורה שיצרת.
&nbsp
VIEW יכול להחזיר תוצאות של פרוצדורה

ראה את הדוגמה הבאה: http://ariely.info/Blog/tabid/83/EntryId/150/SQL-Server-Tricks-Return-DBCC-output-in-a-View.aspx
 

מiטקה

New member
תודה

אני אבחר באופציה ש matany.... הציע.
נראה לי שבצורה כזאת זה גם יהיה יותר מהיר כי זה לא SQL דינאמי.
 

pitoach

New member
שמתי לב פתאום שאתה קורא לו מתני


השם שלו זה מתן וה Y זה כבר השם משפחה שלו יונגמן ()
matan yungman
מתני נשמע אולי נחמד אבל לא ממש מתאים

&nbsp
 

מiטקה

New member
לא,

התחלתי לכתוב את ה username שלו אבל הוא היה מדי מסובך אז שמתי 3 נקודות.
&nbsp
בכל אופן, אני שמח שהבנת ש'מוטקה' זה שם של זכר
 
למעלה