می خوام توسط یه sp یه view بسازم که از آن در گزارشم استفاده کنم. به صورت پویا هر وقت نیاز به گزارش داشتم sp اجرا میشه و با ساختن view متغییرهای مورد نظر را برگردونه .
میشه این کارو کرد؟ چه جوری؟ از راهنماییتون ممنون میشم.
می خوام توسط یه sp یه view بسازم که از آن در گزارشم استفاده کنم. به صورت پویا هر وقت نیاز به گزارش داشتم sp اجرا میشه و با ساختن view متغییرهای مورد نظر را برگردونه .
میشه این کارو کرد؟ چه جوری؟ از راهنماییتون ممنون میشم.
بله میشود
شما میتوانید در sp خود از دستور CREATE VIEW استفاده کنید و باید یک Dynamic Query بسازید و فیلدهاتون و نام جدول را به این SP پاس بدید تا توسط آنها بتواند View را Create نماید.برای راهنمایی بیشتر میتونید به MSDN مراجعه کنید و کلمات کلیدی CREATE VIEW و EXEC (جهت دانستن نحوه ساختن و اجرای Dyanmic Query)را Search کنید
از راهنماییتون ممنون. میشه یه مثال بزنید.
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+@Where_Str
EXEC(@Query_Str)
Go
EXEC Proc1 'TableName','f1,f2,f3','f1>f2 AND f2=f3'
اینم یه مثال کوچیک
امیدوارم که بهتون کمک کنه
یه دنیا ممنون از راهنمایی که کردید.
دوست عزیز
چرا به جای اینکه به وسیله Sp
View را بسازید
یک باره از خود Sp برای نمایش اطلاعات استفاده نمیکنید
منظورم این است که دستورات Select که View انجام میدهد را در Sp پیاده سازی کنید
در این صورت سرعت گزارش گیری بیشتر هم میشود