תחביר LIKE

  • Post
    אלמוני
    אורח
    אני מנסה לכתוב טריגר CHECK-FIELD לשדה שם לקוח, אשר יבדוק אם השם שמוקש כבר קיים באופן חלקי או מלא בלקוח אחר. כרגע יש בדיקה לגבי שם זהה, אך אני צריך משהו יותר כללי.

    למשל: לקוח קיים – יוסי כהן
    לקוח חדש – יוסי כהן שרותי הדפסה

    חשבתי להשתמש ב-LIKE בסגנון

    SELECT CUSTDES INTO :PAR1
    FROM CUSTOMERS
    WHERE :$.@ LIKE
    STRCAT ׂ)'*', CUSTDES, '*'ׂ(

    אבל נראה שצריך להשתמש במחרוזת "אמיתית" (כמו 'T%') ולא במשתנה או ביטוי. אני לא יכול להשתמש בפונקציה PREFIX כי זו בודקת החל מהאות הראשונה ולא בטוח שתהיה שם זהות (נניח שהלקוח החדש נקרא "שרותי הדפסה יוסי כהן"), מעבר לבעיות אחרות.

    האם יש למישהו רעיונות?

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • Replies
    snoof123
    משתתף
    לפני שאתה קורא את זה, תדע שאין לי פיתרון – רק מסביר למה לא נראה לי שהמערכת תצליח בשיטה שהצעת:

    בהמשך ישיר למה ששאלת ניסיתי לעשות את זה על הסוכנים:
    ERRMSG 999 WHERE EXISTS (SELECT 'X' FROM AGENTS
    WHERE AGENTS.AGENTNAME LIKE '*:$.@*');

    (וזה לא עבד לי)

    אבל גם לוגית אני רואה שזה לא הגיוני, כי אתה בעצם צריך לפרק את כל השמות בDB, תחשוב על זה שאתה צריך רק חלק מהערך שמופיע אבל אתה בעצם בודק שם אחרי שם, חלק מהשמות שתבדוק שם מכילים מילה אחת או יותר שזהים למילה אחת או יותר מהערך שאתה מנסה להכניס, אבל הבעיה היא שהמערכת בודקת ככה:
    *יוסי כהן שירותי הדפסה*
    או
    *שירותי הדפסה יוסי כהן*
    אם תריץ את שתי השאילתות האלה על המסך מן הסתם לא תקבל את אותן התוצאות ככה שצריך לפרק בכל רשומה את הCUSTDES שלה. (נראה לי יאט את המע' לחלוטין).

    אתה צריך פונקציה שעושה את זה, כמו שעושים בVISUAL STUDIO על AUTOCOMPLETE

    snoof123
    משתתף
    נעם, כשתמצא את הפתרון שלך אשמח אם תחלוק אותו איתנו 🙂
    נראה שאם תפתור את זה יהיה אפשר להשתמש בזה כדי לייעל את המע' משמעותית מבחינת נתונים
    roni
    משתתף
    לרוע המזל LIKE לא יכולה לקבל פרמטר
    אלמוני
    אורח
    בס"ד

    נראה לי רעיון גרוע אבל במצב הזה אולי האפשרות החידה
    לצאת ל פונקציה DOT.NET נניח ב C# שתעשה שאילתה מול ה SQL
    ישירות אולי אפילו להשתמש ב dataset or entity relation
    ואז ע"י ממשק להעביר את התוצאות לטבלה זמנית ובפריורטי
    לשלוף את התוצאות

    בברכה

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.