استفاده از یک sp به ازای چند sp در استرورید پروسیجر
یکشنبه 17 خرداد 1394در این آموزش میخواهیم یک sp استورید پروسیجر بنویسیم که تمامی کار های اضافه ، ویرایش و حذف را انجام دهد وباعث کوتاه شدن و مدیریت بالا بردن امنیت sp ها شود
این اولین آمزشی هست که بنده در سایتی که بهش مدیونم قرار میدم امیدوارم براتون مفید و با کاربرد باشه
در اینجا واجب میدونم از استاد هوب و محترمم آقای ROHATASH KUMAR تشکر کنم که نقش بسیار موثری در علاقه من به کدنویسی دارند.
برای انجام این کار ابتدا یک جدول میسازیم
CREATE TABLE employee( id INTEGER NOT NULL PRIMARY KEY, first_name VARCHAR(10), last_name VARCHAR(10), salary DECIMAL(10,2), city VARCHAR(20), )
بعد یک سری اطلاعات اولیه در آن وارد میکنیم
INSERT INTO employee VALUES (2, 'amir', 'abasi',4789.25,'tehran'); GO INSERT INTO employee VALUES (4, 'Rohatash' , 'Kumar', 5567,'london'); GO INSERT INTO employee VALUES (5, 'rasol', 'amiri', 4467.01,'yazd'); go INSERT INTO employee VALUES (6, 'maryam', 'zeyghami', 3456, 'esfahan'); go select * from employee
نتیجه اجرای تکه کد بالا میشود
خب میرسیم به قسمت هیجان انگیز مارمون یعنی نوشتن قسمت اصلی استورید پروسیجر
Create PROCEDURE MasterInsertUpdateDelete ( @id INTEGER, @first_name VARCHAR(10), @last_name VARCHAR(10), @salary DECIMAL(10,2), @city VARCHAR(20), @StatementType nvarchar(20) = '' ) AS BEGIN IF @StatementType = 'Insert' BEGIN insert into employee (id,first_name,last_name,salary,city) values( @id, @first_name, @last_name, @salary, @city) END IF @StatementType = 'Select' BEGIN select * from employee END IF @StatementType = 'Update' BEGIN UPDATE employee SET First_name = @first_name, last_name = @last_name, salary = @salary, city = @city WHERE id = @id END else IF @StatementType = 'Delete' BEGIN DELETE FROM employee WHERE id = @id END end
ابتدا با زدن دکمه F5 کد بالا را اجرا میکنیم
در توضیح این کد باید عرض کنم خدمتتون که ما یک فیلد اضافی در رویه مورد نظرمون قرار میدهیم که مقدار آن سه عبارت insert یا update یا delete میباشد که با دستور if بررسی میشوند حال اگر هرکدام ازز عبارات بالا را در فیلد آخر داشته باشیم قسمت مربوط به آن اجرا میشود برای مثال
ابتدا عبارت insert
برای برسی آنابتدا پروسیجرمون رو اچرا میکنیم
نتیجه این کار باز شدن پنجره استورید میباشد و مقادیر مورد نظرمون رو وارد میکنیم
در صورت زدن دکمه ok جدول ما یک سطر اضافه خواهد شد
و همچنین اگر در فیلد statement type از عبارت های update و delete استفاده کنید عملیات مربوط به آنها را انجام میدهد
Thank you for Attention
eat , sleep , writing code
- SQL Server
- 2k بازدید
- 8 تشکر