تا %60 تخفیف خرید برای 8 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

کوئری های پرکاربرد در SQL Server :: قسمت دوم


کوئری 6: دریافت لیست Object های استفاده شده در یک Stored Procedure


بوسیله این کوئری می توانید لیستی از Object های استفاده شده در یک Stored Procedure مانند جداول، توابع یا Stored Procedure های دیگر را بدست آورید:

;WITH stored_procedures AS (  
SELECT  
oo.name AS table_name,  
ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row  
FROM sysdepends d  
INNER JOIN sysobjects o ON o.id=d.id  
INNER JOIN sysobjects oo ON oo.id=d.depid  
WHERE o.xtype = 'P' AND o.name LIKE 'SP_Name' )  
SELECT Table_name FROM stored_procedures  
WHERE row = 1

کافیست به جای SP_Name جان Stored Procedure مورد نظر را بنویسید.


کوئری 7: بدست آوردن تعداد Byte های مربوط به جداول


بوسیله این کوئری می تواند تعداد Byte های اشغال شده توسط هر جداول در یک Database را بر اساس Data Type های تعریف شده به دست آورید. دقت کنید که واحد Byte بر گردانده می شوند:

SELECT sob.name AS Table_Name,  
SUM(sys.length) AS [Size_Table(Bytes)]  
FROM sysobjects sob, syscolumns sys  
WHERE sob.xtype='u' AND sys.id=sob.id  
GROUP BY sob.name 

کوئری 8: بدست آوردن لیست جداولی که ستون Identity ندارند


ستون های Identity ستوهایی هستند که مقدار آن ها به صورت پیش فرض توسط خود SQL و در زمان Insert کردن درج می شود، بوسیله این کوئری لیست جداولی که ستون Identity ندارند را به دست می آورید:

SELECT  
TABLE_NAME FROM INFORMATION_SCHEMA.TABLES  
where  
Table_NAME NOT IN  
(  
SELECT DISTINCT c.TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS c  
INNER  
JOIN sys.identity_columns ic  
on  
(c.COLUMN_NAME=ic.NAME))  
AND  
TABLE_TYPE ='BASE TABLE' 

کوئری 9: بدست آوردن لیست Primary Key ها و Foreign Key ها در یک Database


SELECT  
DISTINCT  
Constraint_Name AS [Constraint],  
Table_Schema AS [Schema],  
Table_Name AS [TableName] FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE  
GO  

کوئری 10: بدست آوردن لیست Primary Key ها و Foreign Key ها برای یک جدول خاص


کوئری قبلی لیست کلید های کل بانک را برای بر میگرداند. کوئری شما 10 تنها لیست کلیدهای یک جدول خاص را بر میگرداند. کافیست عبارت Table_Name را با نام جدول مورد نظر جایگزین کنید:

SELECT
DISTINCT
Constraint_Name AS [Constraint],
Table_Schema AS [Schema],
Table_Name AS [TableName] FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE INFORMATION_SCHEMA.KEY_COLUMN_USAGE.TABLE_NAME='Table_Name'
GO

نویسنده: حسین احمدی

انجمن تخصصی فناوری اطلاعات ایران

نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند