delphi4arab منتديات دلفي للعرب
كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ (/showthread.php?tid=9599)



كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - ALG2009 - 22-07-2018

السلام عليكم 
هل من الممكن كيفيه تنفيد أكثر من جمله في إجراء مخزن واحد SP
بمعنى تنفيذ أكثر من أمر Select مربوط أحيانا بالجملة التي قبله في إجراء واحد 
أو  كل جمله نضعها في إجراء ونقوم بإستدعاء كل إجراء لوحده متتاليه


RE: كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - ferrero - 22-07-2018

(22-07-2018, 09:13 PM)ALG2009 كتب : السلام عليكم 
هل من الممكن كيفيه تنفيد أكثر من جمله في إجراء مخزن واحد SP
بمعنى تنفيذ أكثر من أمر Select مربوط أحيانا بالجملة التي قبله في إجراء واحد 
أو  كل جمله نضعها في إجراء ونقوم بإستدعاء كل إجراء لوحده متتاليه

مثال بسيط

كود :
SELECT * FROM Table1, Table2, Table3 WHERE Table1.Id_Nom1 = :Nom1 AND Table2.Id_Nom2 = :Nom2 AND Table3.Id_Nom3 = Table1.Id_Nom1



RE: كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - ALG2009 - 23-07-2018

الـ AND لا تنفع فالاستخدام كان في جملة الشرط فلو كان كل جمله مستقله عن الأخرى
حيث الأولى تكون
SELECT *
FROM Table1
والثانيه
Update UPDATE table_name. SET column1 = value1


RE: كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - merouane - 25-07-2018

من الأفضل إرفاق الأسئلة بأمثلة أو صور توضيحية من صاحب السؤال.

حسب ما فهمت -

في SQL يمكن تنفيذ استعلامات متداخلة منها:

كود :
Select * from  Table1 where id = (select id from Table2) ;

مثال آخر من الأنترنت:


كود :
SELECT SalesOrderID, LineTotal, (SELECT AVG(LineTotal) FROM Sales.SalesOrderDetail) AS AverageLineTotal FROM   Sales.SalesOrderDetail ;


إذا كان هذا هو المطلوب ابحث عن subquery in select statement
أو إقرأ : https://www.w3resource.com/sql/subqueries/understanding-sql-subqueries.php


RE: كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - ALG2009 - 25-07-2018

لا أقصد  الإستعلامات المتداخله ما أقصده وهو عندك إجراء مخزن SP في قاعده البيانات من نوع FireBird

يعني عندك إستعلام يظهر قائمه الطلاب + النقاط
وإستعلام يقوم بالتحدث النقاط على سبيل المثال
كود :
STELEC Names,Grades FROM Students UPDATE students SET grades =18 WHERE grades=17


كما نلاحظ هناك أكثر من إستعلام في الاجراء المخزن كيف يتم تنفيذ هذا الاجراء بدون أخطأ


السؤال بطريقه أخرى كيف يمكن تنفيذ أكثر من إستعلام في الاجراءات المخزنه(SP) ؟


RE: كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - S.FATEH - 25-07-2018

السلام عليكم في حالة كان تحديث البيانات يعتمد على الاستعلام يمكنك استخدام FOR SELECT ... INTO ... DO
https://firebirdsql.org/refdocs/langrefupd21-psql-forselect.html

http://delphi4arab.net/forum/showthread.php?tid=9476&pid=45925#pid45925


RE: كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - Delphi4Us - 01-08-2018

نفدهم كل على حدة
ثلاث اجراءات مثلا
واحد تحديد والثاني تحديث والثالث اضافة
يمكنك استدعائهم بالتوالي في اجراء رابع
او من برنامجك


RE: كيف يمكن تنفيد أكثر من جملة في الاجراءات المخزنه؟ - ALG2009 - 04-08-2018

عذرا على التأخر
بارك الله فيكم