שליפת שמות טבלאות

שליפת שמות טבלאות

יש לי טבלת ארצות, שמקושרת להרבה מאוד טבלאות אחרות (מוצרים, לקוחות, ערים, טבלאות מחירי משלוחים וכו´) כל הקשרים מוגדרים כראוי. כשהלקוח מנסה למחק עיר, אני לא רוצה שתתבצע מחיקה מכל הטבלאות, לכן לא הגדרתי את זה. אני רוצה לתת לו הודעה על אילו טבלאות, ואילו רשומות עדיין מקושרות לאותה ארץ. אין לי בעייה לכתוב SP שתבדוק את זה. השאלה היא האם יש לי דרך לשלוף את כל שמות הטבלאות (מ-sysobjects, אולי
) המקושרות לטבלת הארצות, במקום לכתוב את הרשימה Hard Coded
מדובר על SQLSRV 2000. תודה
 

DnaWebDesign

New member
schema

אם את שולפת באמצעות ה-ADO את יכולה לרוץ על הסכימה של הטבלאות, על שדות מפתח ולבדוק אם הם מקושרות לטבלה אחרת באמצעות field.property. את יכולה לקרוא ב-msdn ado refernce באתר של מייקרוסופט יש שם הסבר + דוגמא. כמו-כן יש דוגמאת קוד מקור באתר של 2enetworx.com ל-TableEditoR שלהם שם הם בודקים גם יחסי גומלין, סכימות, התאמה לכל סוגי בסיס הנתונים ייצוא לקבצים ועוד... מאוד מרשים והרבה עבודה. צירפתי קישור.
 
../images/Emo51.gif../images/Emo140.gif אבל יש כבר פיתרון

באדיבות tberger:
SELECT sysobjects.name AS Expr1 FROM sysforeignkeys INNER JOIN sysobjects ON sysforeignkeys.fkeyid = sysobjects.id INNER JOIN sysobjects sysobjects_1 ON sysforeignkeys.rkeyid = sysobjects_1.id WHERE sysobjects_1.name = 'Country'​
 
למעלה