PDA

View Full Version : ویرایش view های موجود در sql بوسیله کد نویسی از داخل نرم افزار



biotechsoft
دوشنبه 26 تیر 1391, 21:22 عصر
سلام فرض کنید که یه view توی sql داریم حالا من میخوام بوسیله کد نویسی از داخل برنامه این view رو ویرایش کنم یعنی یه سری فیلد ها رو اضافه کنم ، کم کنم sort کنم و ... و سپس نتیجه حاصل شده بعنوان view داخل sql ذخیره و جایگزین view قبلی بشه به عنوان مثال view موجود به شکل زیر رو داخل sql داریم: SELECT noe_vam, sal, shakhe, month FROM dbo.tbl_vam_shakhe میخوام ویرایش بشه به این: SELECT noe_vam, sal, shakhe, month FROM dbo.tbl_vam_shakhe WHERE (month = N'فروردین') و همین ویرایش توی sql ذخیره بشه و جایگزین view قبلی بشه دلیل این کار هم این هست که این view بعنوان خوراک سایر view های نرم افزار من مورد استفاده قرار میگیره و مجبورم با توجه به نیازی که هست اون رو دائما با شرایط مورد نظرم ویرایش کنم

lastmory
دوشنبه 26 تیر 1391, 22:20 عصر
سلام
در این جور مواقع میتونی یه فانکشن بنویسی توی برنامه ت که
View مورد نظر رو Alter کنه
مثال
Public Function Alter_View(Condition As String) As Boolean
Try

Dim cmd As New SqlClient.SqlCommand
cmd.Connection = ConnectionString
cmd.CommandType = CommandType.Text
cmd.CommandText = "Alter View [View_1] SELECT noe_vam, sal, shakhe, month FROM dbo.tbl_vam_shakhe WHERE (month = N'فروردین')" & Condition
cmd.ExecuteNonQuery()
Return True
Catch ex As Exception

Return False
End Try
End Function

biotechsoft
سه شنبه 27 تیر 1391, 06:20 صبح
آقا دمت گرم
دیشب از فانکشن create view استفاده کردم ولی چون view موجود بود ارور میداد
تو نت هم هرچی به زبان انگلیسی میگشتم دستورات ذخیره و ویرایش و ... رو نشون میداد:گیج:
خلاصه کمک بزرگی کردی
ممنونم:لبخندساده:

saam_sum
سه شنبه 27 تیر 1391, 07:54 صبح
سلام
دستور Alter ی که دوستمون biotechsoft ارسال کرده اند برای تغییر دادن یک view است و شما وقتی یکبار آن را در پایگاه داده run کنید کد view قبلیتون رو هم تغییر میده.
دستور create برای مواقعیه که شما برای اولین بار می خواهید یک view ایجاد کنید شما برای این دستور نیاز دارید که ابتدا اگر view ی با همان نام در دیتابیس داریو رو delete کنید و بعد دستور create رو اجرا کنید.
ولی دستور Alter برای ویرایش یک view است.
موفق باشید