SQL - ניהול קבצים

DnGR1

New member
SQL - ניהול קבצים

יש לי טבלה שמכילה קבצים (תיקיה היא גם סוג של קובץ), לכל קובץ יש את הפרטים שלו + מספר התיקיה בה הקובץ נמצא. אני רוצה לבצע בדיקה בעזרת SQL האם תיקיה מסויימת היא תת תיקיה של תיקיה אחרת, כדי לדעת האם אפשר להעביר תיקיה מסויימת לתוך תיקיה אחרת. תודה מראש לכל העוזרים :]
 

גרי רשף

New member
הבעייה אינה ברורה

הבנתי שלגבי כל קובץ מצויין מה התיקיה בו הוא נמצא, ומכיוון שגם התיקיה היא סוג של קובץ - מצויין גם לגביה באיזו תיקיה היא נמצאת. האם התכוונת לפנות לדיסק ולבדוק זאת? אם כן- באיזה כלי מדובר?
 

DnGR1

New member
מה שאני מנסה לבדוק זה

האם תיקיה מסויימת נמצאת תחת תיקיה אחרת. כשמעבירים תיקיה ממקום אחד למקום אחר חובה לבצע בדיקה האם התיקיה אותה מנסים להעביר היא לא תיקית האבא/סבא וכו', של תיקיית היעד שאליה רוצים להעביר. לדוגמה, תיקיה מס' 1 שתיקית האב שלה היא 0 תיקיה מס' 2 שתיקית האב שלה היא 1 תיקיה מס' 3 שתיקית האב שלה היא 2 במקרה כזה, אם אני אנסה להעביר את תיקיה מס' 1 לתוך תיקיה מס' 3 אני אמור לקבל שגיאה, מכיוון שתיקיה מס' 1 היא תיקית הסבא של תיקיה מס' 3. ושוב תודה.
 

זהר פלד

New member
כנראה שתצטרך להשתמש ברקורסיה

לבצע שליפה של תיקיית האב של היעד, אם היא לא התיקיה שאתה מנסה להעביר, אז לשלוף את תיקיית האב שלה, ואם היא לא התיקיה שאתה מנסה להעביר, לשלוף את תיקיית האב שלה וכו' וכו' עד שתגיע לראש עץ התיקיות, שם תחזיר true. בכל שלב בתהליך, אם תמצא שתיקיית האב שאתה שולף היא תיקיית היעד, צא מהרקורסיה ותחזיר false.
 
למעלה