ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
نکته های مفید و حرفه ای در اس کیو ال سرور SQL Server
07-23-2014, 08:21 AM
ارسال: #1
نکته های مفید و حرفه ای در اس کیو ال سرور SQL Server
نکته شماره 1: برگرداندن تعداد رکوردهای موجود در تمامی جدولهای پایگاه داده با یک حرکت
گاهی اوقات نیاز داریم که تعداد رکوردهای موجود در هر یک از جدولها را در لیستی مرتب شده ببینیم. منظور این است که با اجرای یک پرس و جو بتوانیم در یک جدول اطلاعات مربوط به نام جدول و تعداد رکوردهای موجود در آن جدول را مشاهده کنیم. با استفاده از رویه ذخیره شده با عنوان sp_MSForEachTable می توان به این خواسته دست یافت:

کد:
CREATE TABLE #tblCounts -- ایجاد جدول مجازی
(
    table_name varchar(255),
    row_count int
)

EXEC sp_MSForEachTable @command1='INSERT #tblCounts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?' -- اطلاعات در این بخش واکشی  و درج می شوند
SELECT table_name, row_count FROM #tblCounts ORDER BY  row_count DESC-- نمایش در این بخش انجام می شود

DROP TABLE #tblCounts -- حذف جدول مجازی
[تصویر:  6354174180806855440AllRowsCountSQL.JPG]


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
07-26-2014, 08:21 AM (آخرین ویرایش در این ارسال: 07-27-2014 05:54 PM، توسط ali.)
ارسال: #2
تعویض مالک جدول در پایگاه داده table owner
در برخی موارد لازم می شود که مالک جدول پایگاه داده اس کیو ال سرور را تعویض کنیم. منظور همان table owner می باشد. برای این منظور از کد زیر استفاده می نمائیم:

کد:
EXEC sp_changeobjectowner 'userlast.tblmainID', 'dbo'
در این مثال کاربر جدول tblmainID از userlast به عبارت dbo تغییر می نماید.


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
07-27-2014, 05:53 PM
ارسال: #3
بدست آوردن SPID در SQL Server
در ابتدا باید این نکته را عرض کنم که SPID در حقیقت مخفف Server Process ID می باشد که به هر کاربری که به SQL متصل می شود یک کد یکتا توسط SQl Server اختصاص داده می شود و توسط این ID می توان در بخش SQL Server Profiler تراکنشهای کاربر را مشاهده نمود.

شکل کلی دستور:
کد:
SELECT @@SPID AS 'SPID', SYSTEM_USER AS 'Login Name', USER AS 'User Name'

میتوان Stored Procedure نوشت و از طریق آن در متن برنامه SPID و یک سری اطلاعات دیگر را بدست آورد:

کد:
-- ================================================================================​==========
-- Entity Name:    sp_SPID_LoginName_UserName
-- Author:    A. Najafzadeh (+98)9131253620
-- Create date: 1393-01-11    -     03/31/2014 05:07:22 ب.ظ
-- Description:    This stored procedure is intended for SpID And Login Nasme And User name
-- ================================================================================​==========
ALTER Procedure [dbo].[sp_SPID_LoginName_UserName]
As
Begin
SELECT @@SPID AS 'SPID', SYSTEM_USER AS 'Login Name', USER AS 'User Name'
End
و این هم یک تکه از کد سی شارپ که می توان از طریق آن SPID را در متن برنامه به دست آورد. ضمنا در این کد این گونه فرض شده که از LingToSqlDataSource استفاده شده و SP نوشته شده در آن Add شده است:
کد:
LSC_PdfProjDataContext db = new LSC_PdfProjDataContext(); // دریافت SPID
            var Query = from Row in db.sp_SPID_LoginName_UserName()
                        select new
                        {
                            Row.SPID,
                            Row.Login_Name,
                            Row.User_Name
                        };
            foreach (var Q in Query)
            {
                Tlbl_SpID.Text = "  |  SPID = " + Q.SPID.ToString().Trim();
            }


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
07-28-2014, 01:30 PM
ارسال: #4
بدست آوردن Server Name یا همان نام اصلی سرور در SQL Server
برای بدست آوردن نام Server در SQL Server از کد زیر استفاده می نمائیم:
کد:
select @@SERVERNAME

[تصویر:  6354219240843297090ServerName.JPG]


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
07-28-2014, 01:47 PM
ارسال: #5
بدست آوردن Instance Name در اس کیو ال سرور SQL Server
منظور از instance name در حقیقت همان نام Server هایی است که SQL Server برای اتصال به آنها می تواند استفاده کند. در زیر لینک یک برنامه مفید مشاهده می شود که برای بدست آوردن Instance Name های نصب شده در یک کامپیوتر و مجوعا در یک شبکه محلی استفاده می شود:

لینک دانلود برنامه

[تصویر:  6354219289507665030SqlInstanceName.jpg]

[تصویر:  6354219302820132390SqlInstanceName2.jpg]

[تصویر:  6354219312326973930SqlInstanceName1.jpg]

همانطور که در شکل مشاهده می شود Instance Name هایی که در سیستم موجود است در لیست نمایش داده شده است. محل استفاده از Instance Name در حقیقت در زمان Connect شدن به Server است و این نام را باید در بخش Server Name قرار داد. (شکل زیر)

[تصویر:  6354219330952911470SqlInstanceName0.jpg]


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
08-22-2014, 01:51 AM (آخرین ویرایش در این ارسال: 08-22-2014 01:52 AM، توسط ali.)
ارسال: #6
اضافه کردن یک رکورد بین دو رکورد در فیلد اتو نامبر حذف شده autonumber
فرض کنید یک جدول دارید که دارای یک فیلد از نوع اتو نامبر می باشد. همانطور که می دانید اگر یک رکورد در جدولی که دارای فیلد اتونامبر است حذف شود ، نمی توان به صورت دستی بین دو رکورد و به جای رکورد حذف شده رکوردی را درج کرد.
SQL Server دارای دستورهایی است که می توان این کار را توسط کد نویسی انجام داد. جدول زیر را در نظر بگیرید: (شکل زیر)

[تصویر:  6354430935365593590Insert.jpg]

در این جدول فیلد FactorID از نوع autonumber می باشد. با دستور Select رکوردهای موجود در جدول را واکشی می نماییم. (شکل زیر)

[تصویر:  6354430959889611680Insert2.jpg]

در این مرحله می خواهیم بین رکوردهای 1 و 12 یک رکورد با FactorID شماره 5 درج کنیم. برای این منظور کد زیر را نوشته و آن را اجرا می نمائیم:
کد:
SET IDENTITY_INSERT tblFactors ON
    insert into tblFactors
    (FActorID , OrderID , FactorNumber , AcceptState)
    values (5 , 50 , 'Me-1321231' , 0 );
SET IDENTITY_INSERT tblFactors OFF

پس از اجرا ، یک رکورد به جدول اضافه می گردد. (شکل زیر)

[تصویر:  6354431015680605520Insert3.jpg]
[تصویر:  6354431034389371780Insert.png]

!نکته: برای اینکه بتوانید رکورد درج نمایید بایستی از تمامی فیلدها در پرس و جو استفاده نمایید. در صورتی که یک فیلد از قلم بیفتد پرس و جوی نوشته شده به درستی اجرا نخواهد شد.


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
11-06-2014, 12:29 PM
ارسال: #7
بدست آوردن آی دی اتو نامبر آخرین رکورد درج شده در هنگام درج
در بعضی از مواقع ، برنامه نویسها و یا کاربران پایگاه داده نیاز به این دارند که آخرین آی دی مربوط به فیلد Auto number (که از نوع عددی و یکتا می باشد) رکورد ایجاد شده را در همان لحظه درج استخراج کنند و از آن در متن برنامه استفاده کنند. چندین روش برای این کار وجود دارد. یکی از روشها استفاده از متغیر زیر (که از متغیرهای موجود در SQL Server می باشد) است:
کد:
@@IDENTITY

برای این منظور می توان از کدهای زیر استفاده نمود:
کد:
Insert Into tblBooks  ([BookName],[BookGroupID]) Values ('test',1) -- دستور درج در پایگاه داده
Declare @ReferenceID int                                           -- تعریف متغیر  
SET @ReferenceID = @@IDENTITY                                      -- مقدار دهی متغیر
select @ReferenceID                                                -- نمایش مقدار

و یا اینکه می توان دستورهای فوق را در قالب یک رویه ذخیره شده (Stored Procedure) استفاده کرد:

کد:
Create Procedure sp_tblBooks_Insert
    @BookName nvarchar(250),
    @BookGroupID decimal
As
Begin
    Insert Into tblBooks
        ([BookName],[BookGroupID])
    Values
        (@BookName,@BookGroupID)
    Declare @ReferenceID int
    Select @ReferenceID = @@IDENTITY
    Return @ReferenceID
End
GO

ساختار جدول اصلی نیز به شکل زیر می باشد:

کد:
CREATE TABLE [dbo].[tblBooks]
    [BookID] [decimal](18, 0) IDENTITY(1,1) NOT NULL,
    [BookName] [nvarchar](250) NOT NULL,
    [BookGroupID] [decimal](18, 0) NOT NULL


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
01-03-2015, 04:08 AM
ارسال: #8
ارسال نام فیلد و استفاده از select به صورت پویا در اس کیو ال
با استفاده از این روش شما می توانید عنوان فیلد را به صورت پارامتر به سمت SQL Server ارسال نمایید و نتیجه را دریافت نمایید.

کد:
DECLARE @value varchar(10)  
SET @value = 'intStep'  
DECLARE @sqlText nvarchar(1000);

SET @sqlText = N'SELECT ' + @value + ' FROM dbo.tblBatchDetail'
Exec (@sqlText)


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
01-03-2015, 09:02 AM
ارسال: #9
بدست آوردن اطلاعات کامل در مورد یک جدول از پایگاه داده
به جای tblName عنوان جدول مورد نظر را وارد نمایید.
کد:
select *    
  from information_schema.columns  
where table_name = 'tblName'


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
01-29-2015, 12:47 PM
ارسال: #10
تبدیل تاریخ جاری میلادی سیستم به نوع Nvarchar
کد:
select REPLACE(REPLACE(CONVERT(nvarchar(30), GETDATE(),9) , ':' , '') , ' ' , '')


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان