שאלה למפתחים מעל Sql Server
באורקל (מולדתי) יש הפרדה צורנית ברורה בין שאילתא בודדת ובין "סקריפט". סקריפט כזה (הקרוי באורקל anonymous block) מתחיל במילה BEGIN, מסתיים במילה END וברור שזהו בלוק "פרוצדורלי". ב-SQL Server כל טקסט המועבר, נניח, דרך ODBC או JDBC, הוא בעצם בלוק פרוצדורלי. אפשר לרשום כמה שאילתות ברצף (אפילו בלי שום סימן מפריד פרט לרווח, לעזאזל!) ולקבל כמה תוצאות בבת אחת, אפשר להוסיף תנאים, לולאות וכו'. T-SQL בעצם מכילה שפת SQL סטנדרטית יחסית, והמון פקודות נוספות, flow control (כלומר תנאים, לולאות וכו') ועוד. ובעיקר: אין דרך צורנית להגיד ששאילתא היא פשוטה (SELECT בודד או DML או DDL יחיד ללא תנאים וללא פקודות מקדימות או אוחרות) או מורכבת. בעוד שהיכולת הזו לכתוב שאילתות מורכבות חזקה ומרשימה, היא עושה לי שַמות בתפיסת-העולם-המיובאת-מאורקל שלי וביכולת שלי לגייר את המוצר שלנו כהלכה ל-Sql Server. והשאלה שלי היא זו: כמה מתוך הטקסטים שאתם מעבירים ל-SQL Server בפעולה אחת (דרך xDBC למשל) הם בעצם יותר מאשר שאילתא בודדת? כמה אחוז מהשאילתות באפליקציה שאתם מפתחים אינן שאילתות פשוטות? האם מפתח מעל Sql Server שעבר הכשרה אופיינית, נוטה להשתמש בכח של T-SQL וליצור טקסטים מורכבים? אשמח לתובנות בנושא. תודה.
באורקל (מולדתי) יש הפרדה צורנית ברורה בין שאילתא בודדת ובין "סקריפט". סקריפט כזה (הקרוי באורקל anonymous block) מתחיל במילה BEGIN, מסתיים במילה END וברור שזהו בלוק "פרוצדורלי". ב-SQL Server כל טקסט המועבר, נניח, דרך ODBC או JDBC, הוא בעצם בלוק פרוצדורלי. אפשר לרשום כמה שאילתות ברצף (אפילו בלי שום סימן מפריד פרט לרווח, לעזאזל!) ולקבל כמה תוצאות בבת אחת, אפשר להוסיף תנאים, לולאות וכו'. T-SQL בעצם מכילה שפת SQL סטנדרטית יחסית, והמון פקודות נוספות, flow control (כלומר תנאים, לולאות וכו') ועוד. ובעיקר: אין דרך צורנית להגיד ששאילתא היא פשוטה (SELECT בודד או DML או DDL יחיד ללא תנאים וללא פקודות מקדימות או אוחרות) או מורכבת. בעוד שהיכולת הזו לכתוב שאילתות מורכבות חזקה ומרשימה, היא עושה לי שַמות בתפיסת-העולם-המיובאת-מאורקל שלי וביכולת שלי לגייר את המוצר שלנו כהלכה ל-Sql Server. והשאלה שלי היא זו: כמה מתוך הטקסטים שאתם מעבירים ל-SQL Server בפעולה אחת (דרך xDBC למשל) הם בעצם יותר מאשר שאילתא בודדת? כמה אחוז מהשאילתות באפליקציה שאתם מפתחים אינן שאילתות פשוטות? האם מפתח מעל Sql Server שעבר הכשרה אופיינית, נוטה להשתמש בכח של T-SQL וליצור טקסטים מורכבים? אשמח לתובנות בנושא. תודה.