[/تعريف الإجراءات المخزنة (Stored Procedures):
هو عبارة عن إجراءات تكتب داخل قاعدة البيانات Microsoft SQL Server بلغة T-SQL.
مميزات الإجراءات المخزنة (Stored Procedures)
* استخدامه في أكثر من تطبيق : بإمكان أكثر من مبرمج إستخدامه في أكثر من تطبيق لقاعدة بيانات واحدة.
* التغيير في مكان واحد : حيث يتم التغيير في قاعدة البينات فقط ولا يتم في التطبيقات .التعامل مع الإجراءات المخزنة (Stored Procedures) في خادم قاعدة البيانات Microsoft SQL Server
يعطيك قوة في التطبيقات التي تكتبتها وسرعة وأداء عاليين.
* أكثر أمنا : حيث أنه مسؤول قاعدة البيانات يعطى الصلاحيات عليه وليس على الجداول.
* زيادة الأداء : تسريع العمليات التي تتم على قواعد البيانات .
* التقليل من الحركة على الشبكة : لأنه يتم تخزينه على مستوى قاعدة البيانات .
إنشاء الجدول
تنبيه : أنشأت الجدول في قاعدة بيانات Northwind
CREATE TABLE [Employee] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [Name] [nvarchar] (50) COLLATE Latin1_General_CI_AS NULL , [Age] [smallint] NULL , CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED ( [ID] ) ON [PRIMARY] ) ON [PRIMARY]
إنشاء الإجراء المخزن
-- إنشاء الإجراء المخزن CREATE PROCEDURE NewEmployee -- إنشاء باراميتر وهو الإسم @Name nvarchar(50), -- إنشاء باراميتر وهو العمر @Age int AS -- كتابة جملة الإضافة ولا أن القيم وضعنها أسماء الباراميترات INSERT INTO EMPLOYEE([NAME],[AGE]) VALUES(@NAME,@AGE)
إضافة موظف جديد
Dim conn As New SqlConnection(_connectionstring) ' تعريف الإتصال بقاعدة البيانات
Dim cmd As New SqlCommand("NewEmployee", conn) ' تعريف المنجز ولاحظ إسم الأجراء المخزن
cmd.CommandType = CommandType.StoredProcedure ' تعريف نوع المنجز بإنه إجراء مخزن
cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 50).Value = _Name ' إرسال الباراميتر الأول وهو الإسم
cmd.Parameters.Add("@Age", SqlDbType.Int).Value = _Age ' إرسال البارميتر الثاني وهو العمر
Try
conn.Open() ' فتح الإتصال بقاعدة البيانات
cmd.ExecuteNonQuery() ' تنفيذ
conn.Close() ' غلق الإتصال بقاعدة البيانات
Catch ex As Exception
Throw ex
End Try
