هانى سند بتاريخ: 19 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 19 ديسمبر 2006 (معدل) السلام عليكم إخواني هذه function لتحويل التاريخ الميلادي الي هجري بالفورمات التي تريدها ملحوظة : اليوم الزائد هو لمعالجة مشكلة انحراف التاريخ الهجري ملحوظة كمان مرة : لا يمكن استدعاء هذه الfunction من جملة select لانها تحتوي علي جملة ddl CREATE OR REPLACE function to_DATE_ARABIC( p_date in date, p_fmt in varchar2 ) return varchar2 as l_return_string varchar2(255); v_cal varchar2(255):='arabic hijrah'; begin execute immediate 'alter session set nls_calendar = '''||V_cal||''''; l_return_string := to_char( p_date+1, p_fmt ); execute immediate 'alter session set nls_calendar = ''Gregorian'''; l_return_string:=replace(l_return_string,'الثانية','الثانى'); return l_return_string; end; / لا تنسونا من الدعاء بالتوفيق to_date_arabic.txt تم تعديل 29 يناير 2007 بواسطة hanon_OCP اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mhm_man بتاريخ: 19 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 19 ديسمبر 2006 مشكور اخي وجزاك الله خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
walid99 بتاريخ: 22 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 22 ديسمبر 2006 الف شكر الكبس يا ريت لو تشرحلي هالجملة execute immediate اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 23 ديسمبر 2006 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 23 ديسمبر 2006 السلام عليكم الأخ الكريم execute immediate هي oracle supplied procedure or command لتنفيذ اوامر الddl أو الديناميك SQL بداخل pl/sql block فمعروف انه لا يمكن تنفيذ أوامر ddl بداخل اي function او pl/sql block و لكن هذه الprocedure تتييح لنا إمكانية عمل ذلك و أيضا تنفيذ الديناميك SQl و هي الجمل التي مثلا لا يعرف إسم الجدول او العمود الذي ستعمل عليه الا في الرن تايمو هذه الprocedure موجودة بدأ من الإصدار 8i بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمد سعيد بتاريخ: 24 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 24 ديسمبر 2006 السلام عليكم عند تشغيل هذة الفنكشن تعطى رسالة الخطأ PLS-00103: Encountered the symbol "IMMEDIATE" when expecting one of the following: := . ( @ % ;The symbol ":= was inserted before "IMMEDIATE" to continue. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 24 ديسمبر 2006 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 ديسمبر 2006 (معدل) السلام عليكم الأخ محمد سعيد انت فقط عند نسخ الفانكشن من البراوزر فلت منك حرف غالبا هو ; تأكد عند النسخ انك تأخذ كل الفانكشن لقد حاولت إرفاق ملف بها و لكن هناك مشكلة في إرفاق الملفات و لا أستطيع إرفاقها و عموما فقد رفعت السكريبت الخاص بها في هذه اللنك من يرد تحميله فلحمله من هنا من هنـــــــــابالتوفيق تم تعديل 24 ديسمبر 2006 بواسطة hanon_OCP اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله ندا بتاريخ: 24 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 24 ديسمبر 2006 ملحوظه execute immediate تعمل علي الداتا بيز و ليس علي الفورمز يعني يجب انشائها علي الداتا بيز سلام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمد سعيد بتاريخ: 25 ديسمبر 2006 تقديم بلاغ مشاركة بتاريخ: 25 ديسمبر 2006 طيب لو عايز انفذ جملة dynamic sql فى ال run time مينفعش استخدمها ولا استخدم forms_ddl ارجو التوضيح وجزاكم الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
heavens بتاريخ: 21 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 21 يناير 2007 السلام عليكمهذه الدالة رائعة و لكن اجد صعوبة فى فهم الدالة REPLACEارجو توضيح وظيفتهاجزاكم الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 21 يناير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 يناير 2007 السلام عليكم الأخ الكريم الfunction replace هي function تستخدم لاستبدال حروف او كلمات من string و وصفها كالتالي l_return_string:=replace(l_return_string,'a','b'); 1- هي تأخذ 3 بارمتر الاول و هو i_return_stringو هو النص الذي نريد الاستبدال فيه 2-و الثاني 'a'و هو النص الذي نريد استبداله 3-و الثالث و هو 'b'و هو النص الذي نريد ابداله مع 'a' حيث ستقوم الفانكشن باستبدال كل نسخ الحرف 'a' بحرف b و هذا المثال يوضح ذلك SQL> select replace('abcdefaadd','a','b') 2 from dual; REPLACE('A ---------- bbcdefbbdd بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
heavens بتاريخ: 22 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 22 يناير 2007 السلام عليكملم اقصد كيفية عمل تلك الدالة و لكن الهدف منها فى هذا الكود و لما لجئت اليها؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 23 يناير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 23 يناير 2007 السلام عليكمهذه الدالة رائعة و لكن اجد صعوبة فى فهم الدالة REPLACEارجو توضيح وظيفتهاجزاكم الله خيرا السلام عليكم الأخ العزيز سؤالك لم يوضح تساؤلك عن غرض استخدام replace function بداخل الكود و انما فقط توضيح وظيفة الreplace function بشكل عام عموما فقد تم استخدام الfunction replace لتغيير كلمة الثانية التي تظهر في يعض الشهور الي كلمة الثاني كما في شهر جمادي الثاني حيث كان يظهر عندي بشكل جمادي الثانية و هو ليس الإسم الصحيح للشهر و ان كان الشهر يظهر عندك مظبوط فلا داعي لاستخدام الreplace بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
zoghbour بتاريخ: 27 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 27 يناير 2007 ارجو وضع مثال للبراميتر لكي تعمل الfuction اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wlahmad بتاريخ: 10 فبراير 2007 تقديم بلاغ مشاركة بتاريخ: 10 فبراير 2007 يمن الله كتابكويسر حسابكوبلغك مرادك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.