چه تکنولوژی می‌خواهید یاد بگیرید؟

نظرات و انتقادات خود را با ما در میان بگذارید

آپدیت روزانه

بیش از 1000 پست آموزشی

نیازهای روز

انجام چهار عمل اصلی(CRUD) با استفاده از یک Stored Procedure در SQL Server

در این پست با استفاده از یک مثال خواهیم پرداخت به ایجاد یک Stored Procedure جهت انجام  چهار عمل اصلی در SQL Server Management, نسخه‌های 2005, 2008, 2012, 2014 و بالاتر قابلیت پشتیبانی از یک Stored Procedure  برای چهار عمل را فراهم می‌کنند.

مقدمه:

رویه‌‌های ذخیره شده یا (Stored Procedure(SP اشیای اجرا پذیر در SQL Server Management هستند که شامل یک یا چند دستور SQL ‌‌می‌‌شود. این رویه‌ها ‌می‌‌تواند پارامترهای ورودی و خروجی را شامل شود. در رویه‌ها ‌می‌‌توان به زبان SQL برنامه نویسی کرد.

مهمترین بخش از رویه‌ها چهار عمل اصلی(انتخاب، ایجاد، ویرایش و حذف) یا ادغام این چهار عمل در SQL Server Management است.

ساختار جدول:

جدول اشخاص زیر را در نظر بگیرید:

CREATE TABLE [dbo].[Persons] (
    [Id]     NVARCHAR (50) NOT NULL,
    [Name]   NVARCHAR (50) NULL,
    [Family] NVARCHAR (50) NULL,
    CONSTRAINT [PK_Persons] PRIMARY KEY CLUSTERED ([Id] ASC)
);

اطلاعات موجود در این جدول:

INSERT INTO [dbo].[Persons] ([Id], [Name], [Family]) VALUES (N'1', N'علی', N'ابراهیمی')
INSERT INTO [dbo].[Persons] ([Id], [Name], [Family]) VALUES (N'2', N'رضا', N'رضوی')
INSERT INTO [dbo].[Persons] ([Id], [Name], [Family]) VALUES (N'3', N'سادار', N'صبوری')
INSERT INTO [dbo].[Persons] ([Id], [Name], [Family]) VALUES (N'4', N'جواد', N'علی خانی')

مثال:

در مثال زیر از جدول Persons جهت انجام چهار عمل(CRUD) با استفاده از یک Stored Procedure استفاده شده است. نام اولین پارامتر در استفاده، Action@ می‌باشد که مشخص کنند نوع عمل انجام شده بر روی جدول است که مقدار "Select" یا "Insert" یا "Update" یا"Delete" را دریافت خواهد کرد.

دستور زیر را در یک Query جدید اجرا کنید:

CREATE PROCEDURE [dbo].[Persons_CRUD]
      @Action VARCHAR(10)
      ,@Id INT = NULL
      ,@Name NVARCHAR(50) = NULL
      ,@Family NVARCHAR(50) = NULL
AS
BEGIN
      SET NOCOUNT ON;
 
      --SELECT
      IF @Action = 'SELECT'
      BEGIN
            SELECT Id, Name, Family
            FROM Persons
      END
 
      --INSERT
      IF @Action = 'INSERT'
      BEGIN
            INSERT INTO Persons(Id, Name, Family)
            VALUES (@Id, @Name, @Family)
      END
 
      --UPDATE
      IF @Action = 'UPDATE'
      BEGIN
            UPDATE Persons
            SET Name = @Name, Family = @Family
            WHERE Id = @Id
      END
 
      --DELETE
      IF @Action = 'DELETE'
      BEGIN
            DELETE FROM Persons
            WHERE Id = @Id
      END
END

در صورتی که دستور بالا به درستی اجرا شود، Stored Procedure جدید در پوشه Stored Procedures در زیرشاخه Rrogrammability جدول ایجاد می‌شود.

چهار عمل اصلی:

  1. انتخاب
  2. ایجاد
  3. ویرایش
  4. حذف

انتخاب:

EXEC [dbo].[Persons_CRUD]@Action = 'SELECT'

ایجاد:

EXEC [dbo].[Persons_CRUD]@Action = 'INSERT'
                        ,@Id     = 101
                        ,@Name   = 'صهیت'
                        ,@Family = 'محمدی'

ویرایش:

EXEC [dbo].[Persons_CRUD]@Action = 'UPDATE'
                        ,@Id = 5
                        ,@Name = 'امید'
                        ,@Family = 'نصری'

حذف:

EXEC [dbo].[Persons_CRUD]@Action = 'DELETE'
                        ,@Id = 5

برای دانلود فایل اینجا کلیک کنید.

امید نصری

0 نظر:

تعداد دیدگاه‌های کاربران : 0 دیدگاه
مهمان گرامی! برای ارسال نظر نیاز است وارد سایت شوید.


You must log on to comment.