0% found this document useful (0 votes)
100 views6 pages

(SQL2) عملي 4 PDF

Uploaded by

EM EL-sanosi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views6 pages

(SQL2) عملي 4 PDF

Uploaded by

EM EL-sanosi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

‫قواعد بيانات متقدمة‬

‫خريف‪2021‬‬
‫أ عائشة االسطى‬

‫‪Lab4: Stored Procedcure‬‬


‫االجراءات المخزنة ھي عبارة عن مقطع من تعليمات لغة‬
‫االستفسار ‪ SQL‬المخزنة في قاعدة البيانات‪ .‬يمكن‬
‫استدعائھا‬
‫فوائد االجراء المخزن‪stored procedure.‬‬
‫‪-1‬زيادة في كفاءة أداء التطبيقات ‪ :‬يكون تنفيذ االجراءات‬
‫المخزنة عادة اسرع من تنفيذ تعليمات ‪ SQL‬التي ترسل‬
‫عن طريق التطبيقات وذلك الن االجراءات المخزنة تم‬
‫ترجمتھا مسبقا وتخزينھا في قاعدة البيانات‪.‬‬
‫‪-2‬التقليل من حجم تبادل البيانات ‪ :‬االجراءات المخزنة‬
‫تقلل من حجم تبادل البيانات بين التطبيقات وخادم قاعدة‬
‫البيانات ‪ ،‬وذلك الن التطبيق يقوم بإرسال أمر واحد لتنفيذ‬
‫االجراء المخزن بدال من ارسال عدة اوامر عن طريق‬
‫تعليمات ‪SQL‬‬
‫‪.3‬إعادة اإلستخدام ‪ :‬يمكن اتاحة استخدام االجراءات‬
‫المخزنة للتطبيقات المختلفة ‪ ،‬وھذا يوفر على المبرمج‬
‫اعادة كتابة تعليمات )‪ (SQL‬في التطبيقات المختلفة‪.‬‬
‫الصيغة العامة‬
‫‪1‬‬
‫قواعد بيانات متقدمة‬
2021‫خريف‬
‫أ عائشة االسطى‬

CREATE PROCEDURE procedure_name


AS
sql_statement
GO;
‫االستدعاء‬
EXEC procedure_name;
‫ سنقوم بنكوين اجراء مھمته استرجاع جميع سجالت‬:1 ‫مثال‬
‫جدول الزبائن‬
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

EXEC SelectAllCustomers
‫الصيغة العامة الجراء يستقبل معامالت‬
CREATE procedure proc name (@param1 data
type , @param2 data type)
AS
sqL statements
‫االستدعاء‬
2
‫قواعد بيانات متقدمة‬
2021‫خريف‬
‫أ عائشة االسطى‬

EXEC procedure_name
param1=value,param2=value;

‫ قم بتكوين اجراء يعرض بيانات الزبائن الذين في المانيا او‬:2‫مثال‬


‫قيمة البطاقة المالية اكبر من‬
60000
CREATE PROCEDURE SomeCustomers(@country
varchar(50),@creditlimt decimal(10, 2))
AS
SELECT * FROM Customers whrere
country=@country or creditlimit
>@creditlimt
EXEC SomeCustomers @country='Germany',@
creditlimt=60000

OUTPUT parameter ‫الصيغة العامة الجراء يستخدم‬

CREATE PROC[EDURE] procedure name (@param


data type OUTPUT)
AS
SQL statements
3
‫قواعد بيانات متقدمة‬
2021‫خريف‬
‫أ عائشة االسطى‬

GO
‫االستدعاء‬
DECLARE @variable data type
EXEC proc name @param =@variable OUTPUT
PRINT @variable

‫ قم بتكوين اجراء يرجع عدد طلبيات الزبون رقم‬:3‫مثال‬


‫ لنقطة االستدعاء‬381

CREATE PROC OrderDetailCount


(@CustomerID INT,@Count INT OUTPUT)
AS
SELECT @Count = COUNT(*)
FROM Orders
WHERE customernumber = @CustomerID;
Go ;

DECLARE @OrderCount INT;


EXEC OrderDetailCount 381, @OrderCount
OUTPUT;
PRINT @OrderCount;
‫حذف اجراء مخزن‬
4
‫قواعد بيانات متقدمة‬
2021‫خريف‬
‫أ عائشة االسطى‬

‫الصيغة العامة‬
Drop procedure procedure name
OrderDetailCount ‫ قم بحذف االجراء‬: ‫مثال‬

Drop procedure OrderDetailCount

‫التعديل على اجراء مخزن‬


‫الصيغة العامة‬
Alter procedure procedure name
As
Procedure statement

SomeCustomers ‫ قم بالتعديل على االجراء‬: ‫مثال‬


‫ليقوم بإيجاد عدد الزبائن من دولة أمريكا‬
Alter PROC SomeCustomers(@c varchar(50))
AS
SELECT count(customerNumber) from
Customers whrere country=@c
Go;
EXEC SomeCustomers @c ='USA'
5
‫قواعد بيانات متقدمة‬
‫خريف‪2021‬‬
‫أ عائشة االسطى‬

‫‪6‬‬

You might also like