הבלוג של גרי רשף

17/02/2011

דרך נוחה לעיון בקוד של פרוצדורות ואובייקטים אחרים

שייך לקטגוריה: Uncategorized — תגים: — גרי רשף @ 22:07

לפני מספר חודשים כתבתי פוסט על דרכים לעיון בקוד של פרוצדורה (חוץ מאשר למצוא אותה בצד שמאל ב-SSMS ולהציג את הסקריפט על ידי קליק ימני),
ומצאתי בינתיים עוד דרך נחמדה שמשלבת שליפה של כל האובייקטים (מה שמאפשר למיין ולסנן על פי הצורך) ומעבר נוח לתצוגה של הסריפט:

Select    id,

        Object_Name(id) Object,

        ObjectPropertyEx (id, N'BaseType') ObjectType,

        Cast((Select text As [text()]

            From        sys.syscomments T1

            Where        T1.ID=T.ID

            Order By colid

            For XML Path('')) As XML) SQL

From    sys.syscomments T

Group By ID

Order By ID;

Go

image

יש להקליק על הסקריפט המבוקש בעמודת SQL והוא יפתח בחלון נפרד.

2 תגובות »

  1. למה שלא תריץ את זה?
    SELECT object_id,
    OBJECT_NAME(object_id) as object,
    ObjectPropertyEx (object_id, N'BaseType') ObjectType,
    definition
    FROM sys.sql_modules
    ORDER BY object_id

    תגובה מאת יעקב — 23/02/2011 @ 11:05

    • קודם כל- תודה על המידע המועיל: לא הכרתי את האובייקט הזה,
      ובאמת ניתן להשתמש בו כדי לשלוף קודים של אובייקטים.

      יש בעייה עם תווים כדוגמת <> שבשליפה שלי מופיעים ב-XML באופן משובש (אולי בגלל שתווים אלו יש להם משמעות בתחימת תגים ב-XML), ואילו אצלך גורמים מפילים את השליפה.
      נסה ליצור View בסגנון של:
      Create View V_Tmp As Select * From sys.objects Where object_id<>0;
      ולאחר מכן שליפה:
      SELECT object_id,
      OBJECT_NAME(object_id) as object,
      ObjectPropertyEx (object_id, N'BaseType') ObjectType,
      Cast([definition] As XML) SQL
      FROM sys.sql_modules
      ORDER BY object;

      הערה: כדי שהצירוף <> יוצג בתגובה יש להכפיל אותו כך <<>>.

      תגובה מאת גרי רשף — 23/02/2011 @ 11:48


פיד RSS של התגובות על הרשומה הזו טרקבאק קישור

כתיבת תגובה

Fill in your details below or click an icon to log in:

WordPress.com Logo

אתה מגיב באמצעות חשבון WordPress.com שלך. Log Out / לשמור )

Twitter picture

אתה מגיב באמצעות חשבון Twitter שלך. Log Out / לשמור )

Facebook photo

אתה מגיב באמצעות חשבון Facebook שלך. Log Out / לשמור )

Connecting to %s

ערכת עיצוב: Shocking Blue Green. בלוג בוורדפרס.קום.

Follow

Get every new post delivered to your Inbox.

הצטרפו אל 25 שכבר עוקבים אחריו