MMA بتاريخ: 7 مارس 2008 تقديم بلاغ مشاركة بتاريخ: 7 مارس 2008 بسم الله الرحمن الرحيم والصلاة والسلام علي أشرف المرسلين ، سيدنا محمد عبد الله ورسولة ،أما بعد ،إخواني الكرام ، تحية طيبة وبعد ،عند كتابة جملة 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'; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!إخواني ياريت أجد حل لهذه المشكلة !!!شكراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hanyfreedom بتاريخ: 7 مارس 2008 تقديم بلاغ مشاركة بتاريخ: 7 مارس 2008 (معدل) و انت فى وضع الكتابة للغة الانجليزية و عند عمل علامة التنصيص ل Ahmad فقط كل ما عليك ان تضغط على حرف ال ط مرتان و ليس ان تقوم بضغط ال shift مع حرف ال ط ....... الكود التالى فيه ما تريد .... ادخل على اسكيمة ال scott اولاً ثم نفذه :- begin execute immediate 'Update Emp Set EName = ''Ahmed'' Where EMPNO =7369'; end; / PL/SQL procedure successfully completed. و مع تمنياتى لك بالتوفيق تم تعديل 7 مارس 2008 بواسطة hanyfreedom اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
MMA بتاريخ: 7 مارس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 مارس 2008 شكراً أخي وجزاك الله كل خير وفعلاً ، الكود إشتغل معي بنجاح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.