PDA

View Full Version : دادن اسم به جدول



farshad1_1390
جمعه 02 دی 1390, 14:33 عصر
با سلام،با کد زیر یه جدول ایجاد میشه!میخواستم بپرسم که چه طوری میشه به این جدول یه اسم داد تا بشه این جدول رو با یه جدول دیگه پیوند زد؟؟!!


(Select ghaboli.name , (faregh.MajorCode) ,Tbl_Major .MajorName from ghaboli,faregh ,Tbl_Major

Where ghaboli.id = faregh .id and Tbl_Major .MajorCode =faregh .MajorCode )

Galawij
جمعه 02 دی 1390, 14:45 عصر
سلام،
در مورد With CTE سرچ کنید.مثال:
;WITH StudCTE(RollNo,StudentName,TeacherID)
AS
(
SELECT ID,Name,TID FROM Student
)
,TeacherCTE(TID,TeacherName)
AS
(
SELECT ID,Name FROM Teacher
)
SELECT RollNo,StudentName,TeacherName
FROM StudCTE SC
INNER JOIN
TeacherCTE TC
ON SC.TeacherID=TC.TID

farshad1_1390
جمعه 02 دی 1390, 17:32 عصر
ممنون از جوابتون ولی من فقط میخوام بدونم چه طوری برای این select که زدم اسم بزارم؟؟

powerboy2988
جمعه 02 دی 1390, 19:00 عصر
ممنون از جوابتون ولی من فقط میخوام بدونم چه طوری برای این select که زدم اسم بزارم؟؟

شما احتیاج دارید که یک View بسازید و از View استفاده کنید

دستور View یک Virtual Table یا Stored Query است که بوسیله آن میتوان یک دستور Select را بشکل Object در SQL ذخیره کرد و فرمت آن بشکل زیر است:

Create View vw_name
As
Select statement
Go

مثال : دستور زیر پس از اجرا , یک فایل بنام dbo.AuthorofCA را در قسمت دیتابیس فعال (اگر در زمان اجرای دستور pubs فعال باشد در این دیتابیس) ایجاد مینماید.

Create View AuthorofCA
As
Select * from Authors where State='CA'
Go

پس از آن می توان برای دسترسی به نویسندگان کالیفرنیایی , از دستور زیر استفاده کرد:

Select * from AuthorofCA

یا می توان با دستور زیر کد کتابهای نویسندگان کالیفرنیایی را بدست آورد:

Select * from AuthorofCA inner join Titleauthor
on AuthorofCA.au_id=Titleauthor.au_id

نکته ۱ : چنانچه یک دستور Select در تعداد زیادی از دستورات مورد استفاده قرار می گیرد بهتر است به منظور Structured Programming بصورت View تعریف شود.

نکته ۲ : میتوان دسترسی برخی از کاربران را برای یک View خاص تعریف و مشخص کرد لذا دستور View میتواند به ایمن سازی سیستم کمک کند.

نکته ۳ : پشت سر View هیچ رکوردی ذخیره نمی شود بلکه با اجرای دستور View دستور Select داخل View اجرا شده و نتیجه آن بازگشت داده میشود. بنابراین فقط به اندازه دستور Select و Execution Plan مربوط به آن , فضای حافظه اشغال میگردد.

نکته ۴ : اگرچه برای تغییر یک دستور View میتوان ابتدا آنرا با دستور Drop حذف کرده و سپس به وسیله دستور Create ایجاد نمود ولیکن این روش مناسبی نیست چون با حذف آن , تمامی دسترسی های کاربران نیز حذف میگردد لذا توصیه میگردد اگر قبلاً View ایجاد شده باشد برای تغییر آن به جای Create از دستور Alter استفاده شود.

نکته ۵ : با توجه به احتمال تداخل و پیچیده شدن عملیات دستورات مختلف , استفاده از دستورات Insert و Delete و Update در داخل View به هیچ عنوان توصیه نمی گردد.