› פורומים › אפיון ופיתוח פריוריטי › הפקת שאילתת SQL עם נתוני פרוצדורה
- This topic has 7 תגובות, 3 משתתפים, and was last updated לפני 14 שנים, 4 חודשים by YANIV MADMONI.
- Post
-
- יולי 1, 2010 בשעה 7:26 pm
שלום ,כאשר אני מפיק שאילתה בעזרת "הפקת שאילתת SQL " במסך מחולל דוחות לדוח ללא פרוצדורה הנתונים יוצאים בצורה טובה ישירות לאקסל .
כאשר קיים פרוצדורה לדוח השאילתה תמיד יוצאת ללא נתונים , להערכתי חסר לשאילתה נתוני הקלט של הפרוצדורה INPUT.
כיצד ניתן להוסיף לשאילתה שמתקבלת את נתוני הINPUT?
תודה מראש
יניב
- Replies
-
- יולי 6, 2010 בשעה 5:58 pm
זה מאוד תלוי במה עושה הפרוצדורה לטובת הדו"ח
במידה ויש בפרוצדורה עיבוד אז תצטרך להכין את כל זה גם
אם מדובר באיסוף נתונים אז תצטרך לבחור את הרשומות בדרך שלךאבל אל תעשה שום הכנה כזו ע"י עדכונים לתוך הטבלאות אפילו אם זה מה שעושה הפרוצדורה
לטובת דו"ח, יהיה תמיד תמיד תמיד דרך להסתדר ב-sql server בלי לרשום רשומות ממש ל-db בדרך (אולי תשתמש במשתנה טבלה אבל אל תעדכן את ה-db עצמו)[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יולי 6, 2010 בשעה 7:51 pm
הבעיה מתקיימת שכאשר קיים לפרוצדרה של דוח בקשת תאריכים (לפחות לפרוצדורה הספציפית הנ"ל) וכאשר אני מפיק את השאילתה של הדוח לא רואים שום נתונים מכיוון שלא נבחרו תאריכים בדומה לפרוצדורה ולכן שאלתי מהי הדרך הכי נכונה להוסיף את תאריכי הפרוצדורה לשאילתה של הדוח ?בשום מצב אינני מעדכן את הDB אלא רק שולף ממנו .
- יולי 6, 2010 בשעה 10:13 pm
הי יניבייתכן שבדוח הספציפי שלך הדבר אפשרי ואת זה נוכל לברר רק אם תתן לנו את שמו.
ככלל כדאי לדעת שיש סיבה מדוע דוחות מופעלים מתוך פרוצדורות והיא על פי רוב, צורך בעיבוד מקדים לפני שלב הדוח שהוא רק השאילתה הסופית על בסיס הנתונים.
אם ניתן היה להפיק את הדוח ללא פרוצדורה, אז כך היו בונים אותה מלכתחילה
- יולי 7, 2010 בשעה 1:41 pm
ליאור כתב: "אם ניתן היה להפיק את הדוח ללא פרוצדורה, אז כך היו בונים אותה מלכתחילה"
אסתייג שהגדרת "קלט" בעמודת תאריך במחולל הדו"חות מציג למשתמש שדה בודד של תאריך ולא זוג של שדות "מתאריך + עד תאריך", לכן יש לא מעט פרוצדורות שקיימות כדי לקלוט 2 תאריכים ולהעביר אותם לדו"ח ותו לא.אבל באופן כללי ליאור הרחיב על מה שרמזתי – אתה חייב להבין מה קורה בפרוצדורה לפני שתוכל להסתפק בהפקת SQL מתוך מחולל הדו"חות.
מנסיון אני יכול להזהיר שהמרת פרוצדורת דו"ח לעבוד ב-sql server יכול לדרוש הרבה שכתוב ידנית בגלל שפריוריטי לא יתרגם את הקוד של sqli בשבילך ויש לטפל בהבדלים משמעותיים בין הסינטקס של ה-sql של פריוריטי וזה של sql server.
לאחר כל זה – כפי שכתב ליאור, תגיד על איזו פרוצדורה מדובר ותקבל הכוונה יותר מועילה.
בהצלחה
יצחק[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יולי 7, 2010 בשעה 3:08 pm
הפרוצדורה המדוברת לדוגמא במסלול : כספים > מכירות (כספים) > דו"חות מכירות (כספים) > סיכומי חשבוניות מכירה > חשבוניות בחתך לקוח > מכירות ללקוח לפי מוצר (חשבוניות)תודה על הסבלנות
יניב
- יולי 7, 2010 בשעה 7:08 pm
הבעיה היחידה היא התאריכים, זאת הסיבה לפרוצדורה.שים לב למה שסימנתי בתמונה שהוא מתוך השאילתא של דו"ח זה.
ה-SQL המיוצרת יש השוואה ל-0 במקום השוואה למשתנים שהיו בדו"ח. אתה צריך לדאוג לשים בשאילתא שלך או תאריך קבוע או משתנה תאריך בסינטקס הנכון.
יצחק
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יולי 8, 2010 בשעה 1:21 pm
עובד תודה!יניב
- יש להתחבר למערכת על מנת להגיב.