بتاريخ: 7 مارس 200818 سنة comment_124088 بسم الله الرحمن الرحيم والصلاة والسلام علي أشرف المرسلين ، سيدنا محمد عبد الله ورسولة ،أما بعد ،إخواني الكرام ، تحية طيبة وبعد ،عند كتابة جملة DML لتعديل حقل نصي بجدول الموظف الموظف يتم كتابتها كما يلي : -- تعديل إسم الموظف -- Update Emp Set Emp_Name = 'Ahmed' Where Emp_ID = 2; صراحتاً الكود يعمل معي جيداً سواء من داخل Procedure أو غيرة ، ولكن مشكلتي الحقيقية مع الأمر Immediate حيث أنني عندما أنشأ كود تعديل مثل الراتب ينفذ جيداً كما يلي : Execute Immediate 'Update Emp Set Emp_Salary = 1500 Where Emp_ID = 2' ينفذ الأمر طبيعي جداً وبنجاح ، ولكن عندما أحاول أن أعدل قيمة حقل نصي يجب علي إضافة القيمة النصية ما بين علامات تنصيص ( 'القيمة النصية' ) ، ولكن جملة الـ SQL يتم إدراجها بين علامات تنصيص فيحدث الخطأ ، أنظر : Execute Immediate 'Update Emp Set Emp_Name = 'Ahmed' Where Emp_ID = 2'; حاولت أستخدم علامات ( "" ) ولكنها لم تنجح ، أنظروا : Execute Immediate 'Update Emp Set Emp_Name = "Ahmed" Where Emp_ID = 2'; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!إخواني ياريت أجد حل لهذه المشكلة !!!شكراً تقديم بلاغ
بتاريخ: 7 مارس 200818 سنة comment_124089 و انت فى وضع الكتابة للغة الانجليزية و عند عمل علامة التنصيص ل Ahmad فقط كل ما عليك ان تضغط على حرف ال ط مرتان و ليس ان تقوم بضغط ال shift مع حرف ال ط ....... الكود التالى فيه ما تريد .... ادخل على اسكيمة ال scott اولاً ثم نفذه :- begin execute immediate 'Update Emp Set EName = ''Ahmed'' Where EMPNO =7369'; end; / PL/SQL procedure successfully completed. و مع تمنياتى لك بالتوفيق تم تعديل 7 مارس 200818 سنة بواسطة hanyfreedom تقديم بلاغ
بتاريخ: 7 مارس 200818 سنة كاتب الموضوع comment_124111 شكراً أخي وجزاك الله كل خير وفعلاً ، الكود إشتغل معي بنجاح تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.