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