PDA

View Full Version : sp & views



b_ghost2005
یک شنبه 24 تیر 1386, 13:08 عصر
می خوام توسط یه sp یه view بسازم که از آن در گزارشم استفاده کنم. به صورت پویا هر وقت نیاز به گزارش داشتم sp اجرا میشه و با ساختن view‌ متغییرهای مورد نظر را برگردونه .
میشه این کارو کرد؟ چه جوری؟ از راهنماییتون ممنون میشم.

MajerajooyeKhallagh
یک شنبه 24 تیر 1386, 13:58 عصر
بله میشود
شما میتوانید در sp خود از دستور CREATE VIEW استفاده کنید و باید یک Dynamic Query بسازید و فیلدهاتون و نام جدول را به این SP پاس بدید تا توسط آنها بتواند View را Create نماید.برای راهنمایی بیشتر میتونید به MSDN مراجعه کنید و کلمات کلیدی CREATE VIEW و EXEC (جهت دانستن نحوه ساختن و اجرای Dyanmic Query)را Search کنید

b_ghost2005
یک شنبه 24 تیر 1386, 15:07 عصر
از راهنماییتون ممنون. میشه یه مثال بزنید.

MajerajooyeKhallagh
یک شنبه 24 تیر 1386, 15:35 عصر
CREATEPROC Proc1
@TableName NVarchar(20),
@FieldName_Str NVarchar(MAX),
@Where_Str NVarchar(MAX)
AS
DECLARE @Query_Str NVARCHAR(MAX),@Space CHAR(1)
SET @Space=SPACE(1)
SET @Query_Str='CREATE VIEW [dbo].[View_1]
AS
SELECT'+@Space+@FieldName_Str+@Space+'
FROM'+@Space+@TableName+@Space+'WHERE'+@Space+@Whe re_Str
EXEC(@Query_Str)
Go

EXEC Proc1 'TableName','f1,f2,f3','f1>f2 AND f2=f3'


اینم یه مثال کوچیک
امیدوارم که بهتون کمک کنه

b_ghost2005
یک شنبه 24 تیر 1386, 15:50 عصر
یه دنیا ممنون از راهنمایی که کردید.

niksoft
یک شنبه 24 تیر 1386, 16:48 عصر
دوست عزیز

چرا به جای اینکه به وسیله Sp
View را بسازید
یک باره از خود Sp برای نمایش اطلاعات استفاده نمیکنید

منظورم این است که دستورات Select که View انجام میدهد را در Sp پیاده سازی کنید

در این صورت سرعت گزارش گیری بیشتر هم میشود