خرید دوره های برنامه نویسی با کیف پولت

اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد,اسکریپت جستجوی جداول SQL Server,پیدا کردن جدول دارای عدد در SQL Server

اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد

اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد، برای شناسایی سریع جدول‌های دارای اعداد در SQL Server کاربرد دارد.

تیم تحریریه
6
0
24 شهریور 1405
لینک کوتاه

اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد

در پروژه‌های مختلف SQL Server ممکن است تعداد جدول‌های یک دیتابیس بسیار زیاد باشد و پیدا کردن جدول‌های موردنظر به‌صورت دستی زمان‌بر شود.
یکی از مواردی که هنگام بررسی ساختار دیتابیس، Migration، مستندسازی یا مدیریت جداول اهمیت پیدا می‌کند، شناسایی جدول‌هایی است که در نام خود دارای عدد هستند.
برای مثال ممکن است در یک دیتابیس جدول‌هایی با نام‌هایی مانند Product2024، Order2025، Customer1 یا Log123 وجود داشته باشند.
در چنین شرایطی می‌توان با استفاده از اسکریپت‌های سیستمی SQL Server، جدول‌هایی را که در نامشان یک یا چند رقم وجود دارد پیدا کرد.


اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد



دلایل اهمیت جستجوی جداول دارای عدد

وجود عدد در نام جدول همیشه نشانه اشتباه نیست؛ اما در برخی پروژه‌ها می‌تواند نشان‌دهنده ساختار خاصی باشد.
برای مثال ممکن است جدول‌ها بر اساس سال ایجاد شده باشند یا در اثر طراحی قدیمی دیتابیس، نام‌گذاری نامنظمی داشته باشند.
بررسی این جدول‌ها می‌تواند در موارد مختلفی دارای اهمیت باشد، از جمله:
  • بررسی استاندارد نام‌گذاری جداول

  • شناسایی جدول‌های مربوط به سال‌های مختلف

  • بررسی دیتابیس‌های قدیمی

  • آماده‌سازی برای Migration

  • مستندسازی ساختار دیتابیس

  • پیدا کردن جدول‌های موقت یا نام‌گذاری‌شده به شکل خاص

  • اسکریپت جستجوی جدول‌های دارای عدد در نام

در SQL Server می‌توان از اطلاعات موجود در sys.tables و sys.schemas برای بررسی جدول‌ها استفاده کرد.
یک نمونه ساده:
SELECT 
    s.name AS SchemaName,
    t.name AS TableName
FROM sys.tables t
INNER JOIN sys.schemas s
    ON t.schema_id = s.schema_id
WHERE t.name LIKE '%[0-9]%';
در این اسکریپت، اطلاعات جدول‌ها از sys.tables دریافت می‌شود و با استفاده از sys.schemas نام Schema مربوط به هر جدول نیز نمایش داده می‌شود.
بخش مهم اسکریپت این قسمت است:
WHERE t.name LIKE '%[0-9]%'
الگوی [0-9] به SQL Server اعلام می‌کند که به دنبال یکی از اعداد صفر تا نه در نام جدول باشد.
بنابراین هر جدولی که حداقل یک رقم در نام خود داشته باشد، در نتیجه نمایش داده خواهد شد.



دلایل اهمیت جستجوی جداول دارای عدد






🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟
با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!
این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.
با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.
پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!


مثال از اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد

فرض کنید دیتابیس شامل جدول‌های زیر باشد:

Customers
Products
Orders2025
Invoice1
Payment
Log123
Users


با اجرای اسکریپت، جدول‌هایی مانند موارد زیر در نتیجه قرار می‌گیرند:

Orders2025
Invoice1
Log123


زیرا در نام این جدول‌ها حداقل یک عدد وجود دارد.

بررسی نام جدول همراه با Schema

نمایش Schema در کنار نام جدول اهمیت زیادی دارد؛ زیرا ممکن است دو جدول با نام یکسان در Schemaهای متفاوت وجود داشته باشند.
برای مثال:
dbo.Orders2025
archive.Orders2025
به همین دلیل استفاده از sys.schemas باعث می‌شود اطلاعات دقیق‌تری درباره محل قرارگیری جدول داشته باشیم.
اسکریپت زیر نیز همین اطلاعات را با نام کامل‌تر نمایش می‌دهد:
SELECT 
    s.name AS SchemaName,
    t.name AS TableName,
    s.name + '.' + t.name AS FullTableName
FROM sys.tables t
INNER JOIN sys.schemas s
    ON t.schema_id = s.schema_id
WHERE t.name LIKE '%[0-9]%'
ORDER BY s.name, t.name;


در این حالت، خروجی بر اساس Schema و سپس نام جدول مرتب می‌شود.

آیا اسکریپت جستجوی جداول دارای عدد فقط اعداد انگلیسی را پیدا می‌کند؟

الگوی [0-9] برای تشخیص ارقام در الگوی LIKE استفاده می‌شود و در حالت معمول برای نام‌هایی با ارقام لاتین مناسب است.
اگر در یک دیتابیس از ارقام فارسی یا عربی در نام آبجکت‌ها استفاده شده باشد، باید شرایط جست‌وجو متناسب با Collation و کاراکترهای مورد استفاده بررسی شود.
در اغلب پروژه‌های استاندارد SQL Server، نام جدول‌ها با حروف لاتین و اعداد انگلیسی انتخاب می‌شود؛ بنابراین الگوی [0-9] برای این نوع بررسی کاربرد زیادی دارد.



آیا اسکریپت جستجوی جداول دارای عدد فقط اعداد انگلیسی را پیدا می‌کند؟


کاربرد اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد در Migration

یکی از کاربردهای مهم چنین اسکریپتی، بررسی دیتابیس قبل از Migration است.
هنگام انتقال اطلاعات یا ساختار یک دیتابیس به محیط جدید، شناخت جدول‌هایی که نام‌گذاری خاص دارند می‌تواند به شناسایی وابستگی‌ها و مشکلات احتمالی کمک کند.
برای مثال اگر جدول‌هایی بر اساس سال نام‌گذاری شده باشند، مانند:

Sales2023
Sales2024
Sales2025


می‌توان آن‌ها را سریع شناسایی و قبل از Migration از نظر ساختار، اطلاعات و وابستگی‌ها بررسی کرد.

نکته مهم در استفاده از این اسکریپت

وجود عدد در نام جدول لزوماً به معنای مشکل در دیتابیس نیست.
این اسکریپت صرفاً یک ابزار برای شناسایی و بررسی جدول‌هاست و نباید صرفاً بر اساس نتیجه آن، جدول‌ها را تغییر نام داد یا حذف کرد.
قبل از هرگونه تغییر در نام جدول‌ها باید وابستگی‌هایی مانند Viewها، Stored Procedureها، Functionها، Triggerها، کدهای نرم‌افزار و Queryهای مورد استفاده بررسی شوند.

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “اسکریپت جستجوی جداولی که در نامشان عدد وجود دارد” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو