الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بناء الprocuder على sql

مغلق
بدأه hani2003 في 16 يناير 2003 · 7 رد · 979 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

:)أصدقاء الزملاء.....

قرات في كتاب SQL عن بناء PROCUDER عن طريق ال SQL ولكن لم تكن واضحة اريد أن اعرفها إذا أمكن.

:)أريد عمل وقت على الشاشات وتحسب وقت الدخول ووقت الخروج واريد كذالك عمل ساعة على الشاشات.

:)هل ممكن اقراء IP ADDRESE كل جهاز من من الشاشات يعني

عند دخول شخص الى البرنامج يقراء IP ADDREES ويخزن في قاعدة البيانات حتى يتم معرفة الشخص عن طريق IP ADDREES لانه ممكن يدخل شخص برقم سري ليس له ويتم حذف البيانات وتكون المشكلة على صاحب المستخدم الموجود في قاعدة البيانات

#2

هلا اخوي ابو شهد

بالنسبه للسؤال الاول :

كيف يتم باناء ال procedure عن طريق ال SQL

الطريقه مرررررره سهله

CREATE [OR REPLACE] PROCEDURE PROCEDURE_NAME
(argument1 [mode1] datatype1,
argument2 [mode2] datatype2,
.........)
IS
PL/SQL BLOCK;

الشرح:

PROCEDURE_NAME :  أسم البروسيجر

argument : أسم ال VARIABLE او المتغير.

MODE: نوع المتغير او ال VARIABLE 
وهذه هي الانواع

1- IN(DEFAULT): والمقصد به هو عندما تستدعي ال PROCEDURE هذى المتغير قيمته مرسله من قبل المستخدم او ال USER .

2- OUT  والمقصد به هو عندما تستدعي ال PROCEDURE هذى المتغير قيمته مأخوذه من نفس ال PROCEDURE اي غير مدخله من المستخدم او الUSER.

3- IN OUT  : وهي كما هو واضح تشمل النوعين السابقين والمقصود منها انك ترسل قيمه إلى هذى المتغير وتستقبل قيمه من هذى المتغير.

DATATYPE : هو نوع المتغير رقم او حرف او..............

PL/SQL BLOCK : هو BODY  لهذى ال PROCEDURE 

واذا تبغى اعطيك مثال علشان توضح الفكره ما عندي مانع

=======================

وبالنسبه لسؤالك الثاني : عمل ساعة على الشاشات

بأمكانك عمله بواسطه التايمر وسوف تجد مثال في المرفقات .

اما بالنسبه لعمل وقت الدخول والخروج انت لم توضح هل تريد تخزين الوقت في جدول ام ماذا ؟؟؟؟؟؟

ياليت لو توضح شوي.

==============

السؤال الثالث

الصراحه ما عندي خلفيه وإن شاء الله الشباب ما يقصرو ويوضحو لنا الطريقه.

إن شاء الله اكون قدرت افيدك ولو بالشي القليل

تحياتي لك

اخوك

شبيــــــه الريح

time.zip

#3

السلام عليكم

اخي الفاضل

قمت من قبل وضع طريقة ل ارجو من ال timer بالمنتدى ارجو من الله ان تفيدك

تفضل الوصلة

http://www.arabteam2000.com/vb/showthread....&threadid=17132

#4

أشكرك على ردك على سؤالي ولكن للأسف ما فهمت قصدي ..................

أنا بقصد بالبروسيجير على الsql ومش على pl/sql على pl/sql انا عارفها اما في طريقة تبني فيها البروسيجر على sql وهي ان تبني البروسيحير وهو يقراء من جدول في sql انا شفتها في الكتاب لكن ما هي واضحة وانت تناديها من الشاشة

#5

هلا والله اخوي

لا شكرا على واجب

ولكن لو جعلت ردك في نفس الموضوع لكان افضل علشان الشباب يتساعدون معنا

اخي انا والله ماني فاهم اي شي

هل تريد ان تبني البروسيجر عن طريق برنامج ال SQL ( الطريقه الصحيحه هي التي وضحتها لك في الموضوع السابق)

او تريد ان تبني البروسيجر عن طريق الفورم ؟؟؟؟؟؟؟ظ

وانا بأنتظار جوابك

واسف على التقصير او قله الفهم

#6

:) شكرا لك تعبتك معي ... كلك زوق

اللي اريده هو بناء البروسيجير على sql ولا اريدها على الفورم وإذا عندك مثال يكون أفضل

#7

هلا اخوي hani2003

لا تعب ولا حاجه

شوف الي انا شرحته لك هو عن طريق برنامج ال SQL

وبالنسبه للمثال انا راح احطه في الموضوع الاول

علشان يستفيدو منه الشباب

#8

هلا اخوي ابو شهد

بالنسبه لمثال عن الprocedure انت تأمر اتفضل

=====

لنفرض مثلا اننا نريد زيادة راتب موظف محدد مثلا 1000 ريال ونبغى بعد ذالك نشوف راتبه اصبح كم .

الطريقه هي كالتالي :

CREATE OR PROCEDURE raise_salarey
(V_id       in   emp.empno%TYPE
V_salary  out emp.sal%TYPE )
IS
BEGIN     
            UPDATE  emp
            SET       sal = sal + 1000
            WHERE  empno = V_id;
END raise_salarey;
/
=============

ولتنفيذ البروسيجر 

نعرف متغير 

SQL> VARIABLE g_sal     NUMBER
============
ثم بعد ذالك ننفذ البروسيجر

SQL> EXECUTE raise_salarey (:g_sal, 7654)

====================
ثم بعد ذالك نطبع المتغير

SQL> PRINT g_sal

إن شاء الله اكون قدرت اوضح المطلوب

واي استفسار انا حاظر

تحياتي لك

اخوك

شبيـــــــته الريح

هذا الموضوع مغلق.

مواضيع مشابهة