مقایسه proc,view,function
دوستن ممنون میشم اگه موارد بالا را از هر لحاظ مقایسه کنین و بگید هر کدوم چرا و چه موقعی به درد می خورن
2 پاسخ
view : همونطور که از اسمش معلومه یک نگاه جدید به اطلاعات هستش.
مثلا شما اطلاعاتی دارید که تو سه تا جدول مختلف هستش ، توسط view یه سری اطلاعات رو به فرمتی که دلتون می خواد واکشی می کنید. مثلا : جدول یک, ,personName , cityId,SchoolId داره جدول دو cityIdو cityName جدول سه schoolId,SchoolName حالا شما یک view میسازید که PersonNameو cityNameو schoolName رو در کنار هم نشون بده. در واقع view یک select script هستش که ذخیره شده و شما استفاده اش می کنید. قاعدتا قابلیت ها insert delete update رو نداره.
برای stored Procedure و Func هم اینجا رو ببینید :
https://intellipaat.com/community/3394/function-vs-stored-procedure-in-sql-serv%60er
سلام دوست عزیز .. هر سه این ها قابلیت استفاده مجدد دستورات و کد های ما رو در پایگاه داده ارایه میدن (یک بار کد ها رو می نویسی و دفعه های بعد فقط view , proc , func رو صدا میزنی-قابلیت reusability) و هر کدوم کاربرد خاص خودشونو دارن :
view : از اسمش مشخص هست و شما دستورات SQL رو به صورت یک select ساده یا پیچیده (join چندین جدول) می نویسید و اون ها رو در قالب یک اسم مشخص در پایگاه داده ذخیره می کنید . یک view شامل سطر و ستونهایی دقیقا شبیه یک جدول واقعی است .
func ,proc : مجموعه ای از کد های SQL هستن که توی یک بلاکی قرار میگیرن و به یک اسم مشخص توی پایگاه داده ذخیره میشن . شما در func,proc می تونید از قابلیت های زبان برنامه نویسی مثل تعریف متغیر و .. (program unit) استفاده کنید که در view ها همچین چیزی رو نداریم . SP , func ها می تونن ورودی داشته باشن ولی این امکان در view ها وجود نداره .SP ها معمولا برای پیاده سازی DataBase Action ها مثل Insert, Update , Delete مورد استفاده قرار می گیرن ولی func ها برای انجام محاسبات و برگشت دادن نتیجه (return result) کاربرد دارن .شما sp ها رو باید execute کنید ولی از view و function می تونید توی دستورات select استفاده کنید .