استفاده از یک 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

شهسوار

نویسنده 1 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید