שלום לכולם,

שלום לכולם,

אני חדש פה ויש לי שאלה. אני מריץ שאילתא קטנה, פשוטה, שנותנת טבלה בת 4 עמודות. את אותן 4 עמודות אני רוצה להפוך לטבלה שאוכל לשלוף ממנה נתונים בעתיד בבניית שאילתות נוספות. איך אפשר לעשות את זה? למישהו יש רעיון??? כמו כן השלב הבא שלי זה להפוך את הטבלה ה"חדשה" לדינמית, כך שבכל פעם שאשתמש בה, הנתונים יתעדכנו ע"פ הטבלאות הרלוונטיות (הטבלאות המרכיבות את השאילתא הראשונה, הקטנה). תודה לכולם.
 

ברק קרב

New member
תיצור VIEW

במשפט הסלקט של הVIEW תגדיר את מה שאתה רוצה, והVIEW יהיה זמין לך תמיד, ומעודכן.
 

nrotem

New member
לא אמרת איזה בסיס נתונים

אבל סביר שאפשר לבצע:
create table xxy as select a,b,c,d from t​
כך תווצר לך טבלה פיסית (בניגוד ל-view) שבה תוצאות השאילתא. שמות השדות בטבלה יהיו שמות העמודות בשאילתא שלך (כדאי להשתמש ב-aliasים). טיפוסי הנתונים של השדות ינוחשו אוטומטית ע"י בסיס הנתונים.
 

nrotem

New member
באורקל תחביר זה משמש למשהו אחר

select into מכניס ערכים לתוך bind variables באורקל, והמשפט שרשמת תקף רק בתוך בלוק PL/SQL. בסביבות אחרות יש לזה משמעות אחרת? או אולי התכוונת ל:
insert into table1 (field1,field2) select x,y from z;​
ההבדל העיקרי בין insert select לבין create as select הוא שהאופציה השניה גם יוצרת את הטבלה אוטומטית, בעוד שהראשונה מסתמכת על טבלה קיימת שתקלוט את הנתונים.
 

s h i m s h o n

New member
שניכם מתכוונים לאותו הדבר

ההבדל הוא אכן בסינטקס ששונה בין ה-DB. אבל בכל מקרה הפתרון כאן הוא VIEW ולא טבלה, כיוון שהאדון כמעט מעוניין ב"טבלה" שתהיה תמיד מעודכנת... בברכה, ש.
 
למעלה