بارگذاری
میثم فلاح | Meysam Fallah
  • خانهتوضیحات مختصر
  • تخصص هاتوضیحاتی درباره من
  • نظراتدیدگاه مشتریان من
  • نمونه کارپروژه‌های انجام شده
  • وبلاگمطالب و نوشته های من
  • تماساطلاعات ارتباط با من
  • جستجو
  • منو منو
  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • Pinterest
  • Rss
مهندس میثم فلاح
آموزشی, برنامه نویسی, فناوری اطلاعات

یافتن یک مقدار در کل دیتابیس

8
خواندن در 2 دقیقه

پیدا کردن یک مقدار در کل دیتابیس کار بسیار سختی است، مخصوصا اگر به دیتابیس آشنا نباشید و بخواهید بصورت دستی دنبال آن بگردید. خیلی از زمان ها پیش می آید که دیتابیسی که روی آن کار می کنیم را نمیشناسیم و یا بدنبال ستون و جدول مرتبط با یک مقدار مشخص هستیم. در چنین مواقعی بدترین حالت ممکن جستجو در تمام جداول است. اما راه حل بهتری هم برای این کار وجود دارد. توسط دستور کی معرفی می شود می توانید به راحتی تمام دیتابیس را جستجو کنید.

پیدا کردن یک عبارت در کل دیتابیس

می توانید این کد را بصورت یک Stored Procedure تعریف کنید و در زمان های مورد نیاز از آن استفاده کنید. این دستور مکان دقیق عبارت مورد نظر شما را در ۲ ستون بصورت جدول و ستون نمایش می دهد.

کافی است کلمه مورد نظر را در @SearchStr و بجای wordSearch قرار دهید. با اجرای این قطعه کد نتیجه را مشاهده خواهید نمود.

دقت داشته باشید زمان بررسی بستگی مقدار اطلاعات داخل دیتابیس و تعداد جداول آن دارد. خیلی از مواقع این قطعه کد سرعت شما را در پیدا کردن یک کلمه در کل دیتابیس بسیار آسان می کند.

DECLARE @SearchStr nvarchar(100)
SET @SearchStr = 'wordSearch'


CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

SET NOCOUNT ON

DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET  @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

WHILE @TableName IS NOT NULL

BEGIN
    SET @ColumnName = ''
    SET @TableName =
    (
        SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
        FROM     INFORMATION_SCHEMA.TABLES
        WHERE         TABLE_TYPE = 'BASE TABLE'
            AND    QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
            AND    OBJECTPROPERTY(
                    OBJECT_ID(
                        QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
                         ), 'IsMSShipped'
                           ) = 0
    )

    WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
        
    BEGIN
        SET @ColumnName =
        (
            SELECT MIN(QUOTENAME(COLUMN_NAME))
            FROM     INFORMATION_SCHEMA.COLUMNS
            WHERE         TABLE_SCHEMA    = PARSENAME(@TableName, 2)
                AND    TABLE_NAME    = PARSENAME(@TableName, 1)
                AND    DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal')
                AND    QUOTENAME(COLUMN_NAME) > @ColumnName
        )

        IF @ColumnName IS NOT NULL
        
        BEGIN
            INSERT INTO #Results
            EXEC
            (
                'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' +
                ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
            )
        END
    END  
END

SELECT ColumnName, ColumnValue FROM #Results

DROP TABLE #Results

 

25 دی 1398/0 دیدگاه /توسط مهندس میثم فلاح
برچسب ها: پیدا کردن یک عدد در کل دیتابیس, جستجوی کل دیتابیس, جستجوی کل دیتابیس برای یک کلمه, یافتن کلمه در کل دیتابیس
اشتراک این مطلب
  • اشتراک در Facebook
  • اشتراک در Twitter
  • Share on WhatsApp
  • اشتراک در Pinterest
  • اشتراک در LinkedIn
  • اشتراک با ایمیل
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جستجو در مطالب سایت

بیشترین بازدیدها

  • ترفند اسنپ در اپ استور 11,218
  • یافتن یک مقدار در کل دیتابیس 8,118
  • یافتن ستون در دیتابیس 6,342
  • تنبلی گروهی 4,378

آخرین نظرات

  • دارک در ترفند اسنپ در اپ استور
  • مهندس میثم فلاح در ترفند اسنپ در اپ استور
  • rj در ترفند اسنپ در اپ استور
  • ترفند اسنپ در اپ استور - ایده طلایی در ترفند اسنپ در اپ استور
  • فرهادی در تنبلی گروهی

دسته بندی مطالب

  • آموزشی (2)
  • برنامه نویسی (3)
  • عمومی (2)
  • فناوری اطلاعات (3)

ابر برچسب

آموزش دیتابیس اپ آیفون اسنپ اپلیکیشن ios اسنپ ترفند ثبت اپ ایرانی در اپ استور ترفند دیتابیس جستجوی کل دیتابیس جستجوی کل دیتابیس برای یک کلمه روانشناسی اجتماعی رینگلمن پیدا کردن یک عدد در کل دیتابیس کد تخفیف اسنپ یافتن کلمه در کل دیتابیس

آخرین پست‌های اینستاگرام

من را در اینستاگرام دنبال کنید.
© Copyright 2024 - میثم فلاح | Meysam Fallah | طراحی سایت توسط سوبلز
  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • Pinterest
  • Rss
یافتن ستون در دیتابیس یافتن یک ستون در دیتابیس ترفند اسنپ در اپ استور
رفتن به بالا