ملخص بناء جملة SQL
1. اقرأ الحقول بناءً على الشروط وحدد الحقل ليأخذ عددًا قليلاً من القيم المحددة أو قيمة واحدة فقط.
حدد os.* من blis_order o,blis_orderservice os حيث o.orderid=os.orderid وo.ordertypeid ليس في (4، 8، 10، 11) وo.status في ('جديد'،'مقبول'،'معلق- الموافقة''،''في انتظار الفعالية''،''في انتظار التصحيح'') وsnp.status='نشط' وb.entityid=1
2. قم بإزالة الحقول المكررة (المختلفة) المميزة
حدد op.name,op. من blis_chargeactivation ca,blis_orderparameter op حيث op.mastertype='charge' وca.chargeactivationid=op.masterid وca.parentcode مثل '%NBR Storage Charge%'.
3. لا يمكن أن يكون الحقل خاليًا
حدد os.orderserviceid,os.orderofferid,o.ordertypeid,o.status من Blis_Order o، Blis_Orderservice os حيث o.orderid=os.orderid وos.orderofferid ليس فارغًا
4. احذف السجلات التي تستوفي شرطًا معينًا
احذف من blis_bstoffermigplan bsf حيث bsf.keyid='110206'
5. خذ الحقل name_a وقم بوضع الاسم المستعار للحقل name_b
حدد الرمز الفرعي bsf.keyid، bsf.bstoffermigplanid من blis_bstoffermigplan bsf
يتم أخذ حقل معرف المفتاح هنا، ويتم عرض حقل الرمز الفرعي.
6. الالتزام بالتراجع عن الاتصال
التراجع هو إلغاء السلوك الذي تم إجراؤه في الذاكرة وعدم استمراره في قاعدة البيانات. الالتزام هو استمرار السلوك الذي تم إجراؤه في الذاكرة إلى قاعدة البيانات.
7. استخدام Dual في Oracle. يعد Dual جدولًا افتراضيًا فريدًا لـ Oracle. وينشئ تسلسل العديد من الأنظمة في Oracle بشكل عام مراسلات فردية مع الجدول. ومع ذلك، إذا كنت تريد إدراجه برمجيًا، فيجب عليك تحديده يدويًا مثل إضافة بيانات الحساب، يتم إدراج القيمة المقابلة في SEQ_ACCOUNT.nextval، ويمكن الحصول على المتغيرات والوظائف من خلال Dual
S: حدد getdate();
س: حدد sysdate من ثنائي؛
حدد SEQ_INTEGRATIONTASK.NEXTVAL من DUAL
8. (PK) المفتاح الأساسي (PK) (لقاعدة البيانات)
9. الفرز (الأرقام والحروف من الكبير إلى الصغير)
حدد bsf.* من طلب blis_bstoffermigplan bsf بواسطة bsf.ordertypeid desc
10.أدخل سجلا
أدخل في blis_bstoffermigplan (bstoffermigplanid، الكيان معرف، مفتاح، رمز فرعي، نوع الطلب، نوع، رمز القالب، رمز العملة، عدد الاستثناءات، آخر استثناء، att1، att2، att3،att4،att5،رمز العرض، الحالة، تم إنشاؤه بواسطة، تاريخ الإنشاء، آخر تعديل بواسطة، تاريخ التعديل الأخير) القيم ( seq_bstoffermigplan, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?,sysdate, ?, sysdate)
11. تحديث السجل
تحديث العرضmigplan.db_table_name تعيين معرف الكيان=?,keyid=?,subioncode=?,ordertypeid=?,type=?,templatecode=?,currencycode=?,exceptioncount=?,lastexception=?,att1=?,att2=?,att3 =?,att4=?,att5=?,offercode=?,status=?,createdby=?,lastmodifiedby=?,lastmodifieddate=sysdate حيث bstoffermigplanid=?
12. قم بإدراج نوع clob بكمية كبيرة من البيانات
13. تاريخ الاستعلام
العبارتان التاليتان لهما نفس الوظيفة
حدد * من حساب blis_account حيث to_char(acc.lastmodifieddate,'YYYYMMDD')>'20050101'
حدد * من حساب blis_account حيث acc.lastmodifieddate>to_date('2005-01-01','yyyy-mm-dd')
14 ابحث عن السجلات المكررة بناءً على قيمة في الحقل
على سبيل المثال، ابحث عن سجلات blis_usageaccess بنفس قيمة Chargeactivationid.
حدد * من blis_usageaccess حيث يوجد معرف Chargeactivationid (حدد معرف Chargeactivation من مجموعة blis_usageaccess بواسطة معرف Chargeactivationid الذي يحتوي على عدد (*)> 1)
الاستخدام، الوصول إلى رسوم التنشيط، خدمة معرف الوصول، رمز الوصول
292518 148701 البث الصوتي@
292517 148701 فويب@
292516 148701 اتصال-فعل@
292515 148701 رد الاتصال-INTL@
292512 148701 اتصل@
292513 148701 اتصال مجاني@
292514 148701 رد الاتصال@
292478 147945 البث الصوتي@
292477 147945 فويب@
292475 147945 رد الاتصال-INTL@
292476 147945 اتصال-فعل@
292472 147945 اتصل@
15. الحصول على القيمة الإجمالية لحقل معين من خلال الاستعلام إذا كانت هذه القيمة فارغة، فسيتم إعطاء قيمة افتراضية محددة مسبقًا.
حدد nvl(ob.bookingvalue, 0) bookingvalue من blis_order o، blis_orderbooking ob حيث o.orderid=ob.orderid وo.orderid =125034 وob.bookingtypeid = 215 وob.status = 'نشط'
نحن هنا قلقون بشأن استخدام nvl (arg، value) يعني أنه إذا كانت قيمة الوسيطة السابقة فارغة، فإن القيمة التي تم إرجاعها هي القيمة التالية.
16. يمكنك استخدام هذه الطريقة عندما تعرف اسم عمود ولكنك لا تعرف الجدول الذي ينتمي إليه.
حدد * من user_col_comments ucc حيث ucc.column_name = 'column_name'
على سبيل المثال: حدد * من user_col_comments ucc حيث ucc.column_name = 'ORDERID' سيجد سلسلة من الجداول مع حقول ORDERID.
17. اجتياز حقلين وترتيبهما
حدد (pf.offername || ' '|| cur.name) كود العرض من blis_packageoffer pf,blis_currency cur حيث cur.status='Active' وpf.status='Active'
والنتيجة هي كما يلي:
com.offercode
أ1 ب1
أ1 ب2
أ2 ب1
أ2 ب2
18. الحكم المشروط
الحالة عندما يكون pc.provisioningby = 'BPS' ثم 'True'
نهاية "خاطئة" أخرى
حدد sos.Sosorderserviceid، st.sosprovisionticketid،
(الحالة عندما يكون pc.provisioningby = 'BPS' ثم 'True'
وإلا نهاية "خطأ") isConnector
من شارع blis_sosprovisionticket، blis_sosorderform sof،
blis_sosorderservice sos، blis_packagecomponent pc
حيث sof.sosorderformid = sos.sosorderformid
و sos.sosorderserviceid = st.sosorderserviceid
وsos.status = "نشط" وst.status = "نشط"
وpc.tagname(+) = st.servicetag وpc.provisioningby
و sof.sosorderformid = 104789
19. pc.tagname(+) =st.servicetag
عند وجود قيمة pc.tagname وعدم وجود قيمة st.servicetag، يمكن أيضًا استرداد السجل.
20. اجعل الجدول قابلاً للتحرير يدويًا
حدد Rowid,st.* من blis_sosprovisionticket st حيث st.sosprovisionticketid=102508
سيؤدي استخدام Class12.zip إلى طرح classNotFoundException: oracle.jdbc.driver.OracleDriver وسيكون الأمر طبيعيًا إذا كنت تستخدم class12.zip أو class12.jar هي فئة برنامج تشغيل Oracle الخاصة بـ JDBC.
إنشاء قاعدة بيانات:
عرض كافة الجداول: حدد * من dba_all_tables
عرض جميع المستخدمين: حدد * من all_users
عرض جميع مستخدمي DBA: حدد * من dba_users
إنشاء دور: إنشاء دور BLIS_ADMIN_ROLE؛
إنشاء مستخدم جديد: إنشاء اسم مستخدم للمستخدم محدد بكلمة المرور
منح حقوق استخدام مساحة الجدول: منح المورد لاسم المستخدم
منح إذن إنشاء جدول: منح إنشاء جدول لاسم المستخدم
منح الإذن للاتصال بقاعدة البيانات: منح إنشاء جلسة لاسم المستخدم
عرض جميع مساحات الجداول: حدد * من dba_tablespaces
منح أي جدول لمستخدم: منح إنشاء أي جدول إلى BLIS_ADMIN_ROLE؛
منح إمكانيات البحث لمستخدم: منح إنشاء أي فهرس إلى BLIS_ADMIN_ROLE؛
منح المستخدم القدرة على استرداد جدول وإدراجه وتحديثه وحذفه: منح التحديد والإدراج والتحديث والحذف على BLIS_ACCAGENCYCOMMISSION إلى BLIS_ADMIN_ROLE؛
تصدير قاعدة البيانات: على سبيل المثال: exp blis/blis@dbls full=y file=d:1.dmp
تنسيق السلسلة للاتصال بقاعدة بيانات ORACLE هو
jdbc:Oracle:thin:@host:port:SID
لاحظ أنه SID وليس اسم قاعدة البيانات.