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

How To Copy All Queries

بدأه basqqq في 3 أبريل 2009 · 8 رد · 1,519 مشاهدة · في قسم لغة الاستفسارات SQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

الاخوة الاكارم اتمنى منكم الرد على سؤالي

هل يمكن حفظ أي استعلام يتم كتابته في ORACLE SQL COMMOND اليا الى مستند خاص

:wacko:

تم تعديل هذه المشاركة بواسطة basqqq في 3 أبريل 2009 في 17:28

#2

ما أدري لكن أخي بعد كتابة أي أمر مثلا لإنشاء جدول

بعد أن تنشئ الجدول قم بكتابة الأمر edit سوف تظهر شاشة الدفتر ويوجد بها أمر الإنشاء

من ملف قم بحفظه في المكان اللي تريده.

سوف يقوم بحفظ الجدول تلقائيا كمستند تستطيع أن تعدل فيه .

أرجوا أن أكون ساعدتك في ذلك

#3

يمكنك ذلك باستخدام امر spool file

وهو أمر يحفظ كل المدخلات والمخرجات النصية على sql

spool d:/xx.txtor doc

وبعد نهاية العمل يكتب امر الخروج

spool off

Oracle APEX Consultant@ ClinicForce

Oracle APEX Instructor @ New Horizons Alexandria Branch

00201095775354

00201112355566

ahmed-alsaied@ms.com

My Blog

الإجتماع حول العقيدة ضرورة حياتية ، إذا أردتم التمكين في الأرض

 

 

 

#5

تامر

J.Dev

شكرا جزيلا لكم على مساعداتكم والعفو على التاخر في الشكر لانني مشغول

سوف أقوم بتجربة فكرة J.Dev

وسوف أرد عليكم

ولكن هل يوجد طريقة أخرى لضبط النسخ والحفظ التلقائي

#6

اشكر الجزيل لكم

لقدجربت أمر SPOOL

it is working right but it is overwrite

يعني صحيح لكن كلما دخلت عل sql

والى كتبت الامر يمسح ما تم كتابته سابقا

أي يعني يجب بعد إغلاق ال sql ان تفتح ا لملف الذي قمت بنسخ الاستعلامات اليه وتقوم بحفظها في ملف أخر

في ملف خاص دون الكتابة فوق السابق ولكن لم اجده الى حد الان

الحقيقة انني سمعت من احد الاصدقاء ان هنالك ملف او امر توفره الاوراكل يقوم بنسخ وحفظ الاستعلامات

نرجو المساعدة

تم تعديل هذه المشاركة بواسطة basqqq في 21 أبريل 2009 في 14:31

#7
basqqq كتب:
اشكر الجزيل لكم

لقدجربت أمر SPOOL

it is working right but it is overwrite

يعني صحيح لكن كلما دخلت عل sql

والى كتبت الامر يمسح ما تم كتابته سابقا

أي يعني يجب بعد إغلاق ال sql ان تفتح ا لملف الذي قمت بنسخ الاستعلامات اليه وتقوم بحفظها في ملف أخر

في ملف خاص دون الكتابة فوق السابق ولكن لم اجده الى حد الان

الحقيقة انني سمعت من احد الاصدقاء ان هنالك ملف او امر توفره الاوراكل يقوم بنسخ وحفظ الاستعلامات

نرجو المساعدة

كيف لم تجده ؟؟

عندما تستخدم الأمر spool فإنك تضع مسار الملف بجانبه ، أليس كذلك ؟؟؟

أي

spool c:\myscript
#8
اقتباس
اشكر الجزيل لكم

لقدجربت أمر SPOOL

it is working right but it is overwrite

يعني صحيح لكن كلما دخلت عل sql

والى كتبت الامر يمسح ما تم كتابته سابقا

أي يعني يجب بعد إغلاق ال sql ان تفتح ا لملف الذي قمت بنسخ الاستعلامات اليه وتقوم بحفظها في ملف أخر

اقتباس
الحقيقة انني سمعت من احد الاصدقاء ان هنالك ملف او امر توفره الاوراكل يقوم بنسخ وحفظ الاستعلامات

نرجو المساعدة

أنا ما حأستطيع أن اشرح لك الحل بالكامل لأني كما ترى لي فترة طويلة جداً جداً جداً بعيدة عن المنتدى ولكن

سأحاول أن أضع لك الخطوات والمفاتيح وانت عليك الباقي إذا كنت مبرمج حتعمل الباقي ..

1- هناك ملف تجده دائماً بالمسار التالي (C:\oracle\product\10.2.0\db_prodb\sqlplus\admin)

هذا الملف يتيح لك إعداد خيارات الـSQLPlus مع تشغيل الملف وممكن في بعض الأحيان عمل Connect تلقائياً من غير ما تكتب اسم المستخدم وكلمة المرور بالإختصار وأيضاً بالنسبة لي انا عادةً أضع هذه السطرين بنهاية الملف لأعلم انا شغال على اي مستخدم وعلى أي قاعدة بيانات بمجرد النظر إلى الـPrompt الخاص بي وهي تتغير تلقائياً مع تغيير المستخدم أو القاعدة ابتدائاً من الإصدار 10.2 طبعاً

بشكل عام انت دائماً ممكن ان تستخدم Batch file مثلاً لإعادة تسمية الملفات والمجلدات حسب تاريخ ووقت اليوم انا عادةً بأستخدم الطريقة هذه بعمليات الـBackup اليومية لتنظيم العمل وذلك بإستخدام الكود التالي :

طبعاً هذا الكود له مصدر ولكن لا أذكره حالياً .:).

@echo OFF

:: This will create a timestamp like yyyy-mm-yy-hh-mm-ss.
set TIMESTAMP=%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%-%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%

ren out.sql "%TIMESTAMP%".sql

@echo TIMESTAMP=%TIMESTAMP%

إذاً ماتبقى لك انك تضع هذا الـ Batch بنفس المجلد الخاص بالبدء في لإختصار الـ SQL Plus وتعدل بالملف المحدد سابقاً glogin.sql

بتشغيل الباتش لكي يقوم بتغيير آخر ملف SQL بتاريخ ووقت اليوم وبذلك ممكن أيضاً أنك تنشئ الملف الجديد من جديد بإسم الـ(out.sql) والدورة شغاله على طول وممكن تعدل بالباتش فايل لكي يحفظ جميع ملفات الـSpool بمجلد معين .. مثلاً للتنظيم أو تعدل اسم الملف المراد استخدامه كـSpool file .

والله أعلم .

أرجوا ان لا أكون قد أطلت عليكم وإلا لقاء آخر ..

لكم مني أجمل تحياتي ..

#9

طبعاً لتشغيل أي ملف Batch أو أمر عن طريق الأمر Host من الـ SQLPlus أو العلامة $ من اللينكس

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