สรุปไวยากรณ์ 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 ไม่ใช่ null
4. ลบบันทึกที่ตรงตามเงื่อนไขที่กำหนด
ลบออกจาก blis_bstoffermigplan bsf โดยที่ bsf.keyid='110206'
5. ใช้ฟิลด์ name_a และใส่ฟิลด์ alias name_b
เลือกรหัสย่อย bsf.keyid, bsf.bstoffermigplanid จาก blis_bstoffermigplan bsf
ฟิลด์ keyid ถูกนำมาที่นี่ และฟิลด์รหัสย่อยจะปรากฏขึ้น
6. การเชื่อมต่อย้อนกลับกระทำ
การย้อนกลับคือการยกเลิกพฤติกรรมที่ทำในหน่วยความจำและไม่คงอยู่ในฐานข้อมูล กระทำคือการคงพฤติกรรมที่ทำในหน่วยความจำไปยังฐานข้อมูล
7. ใช้ Dual ใน Oracle Dual เป็นตารางเสมือนเฉพาะของ Oracle โดยทั่วไปลำดับของระบบต่างๆ ใน Oracle จะสร้างการโต้ตอบแบบหนึ่งต่อหนึ่งกับตาราง อย่างไรก็ตาม หากคุณต้องการแทรกโดยทางโปรแกรม คุณต้องระบุด้วยตนเอง เช่นการเพิ่มข้อมูลบัญชีค่าที่สอดคล้องกันจะถูกแทรกลงใน SEQ_ACCOUNT.nextval ตัวแปรและฟังก์ชันสามารถรับได้ผ่าน Dual
S: เลือก getdate();
O: เลือก sysdate จาก dual;
เลือก SEQ_INTEGRATIONTASK.NEXTVAL จาก DUAL
8. (PK) คีย์หลัก (PK) (สำหรับฐานข้อมูล)
9. เรียงลำดับ (ตัวเลข ตัวอักษร จากใหญ่ไปเล็ก)
เลือก bsf.* จาก blis_bstoffermigplan bsf สั่งซื้อโดย bsf.ordertypeid desc
10.ใส่บันทึก
แทรกลงใน blis_bstoffermigplan (bstoffermigplanid, รหัสเอนทิตี, รหัสคีย์, รหัสย่อย, ประเภทการสั่งซื้อ, ประเภท, รหัสเทมเพลต, รหัสสกุลเงิน, จำนวนข้อยกเว้น, ยกเว้นครั้งสุดท้าย, att1, att2, att3, att4, at5, รหัสข้อเสนอ, สถานะ, สร้างโดย, วันที่สร้าง, แก้ไขล่าสุดโดย, วันที่แก้ไขล่าสุด) ค่า ( seq_bstoffermigplan.nextval, ?, ?, ?, ?, ?,?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?,sysdate, ?, sysdate)
11. อัปเดตบันทึก
อัปเดต offermigplan.db_table_name ชุด enterid=?,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 ใน (เลือก chargeactivationid จากกลุ่ม blis_usageaccess โดย chargeactivationid มีจำนวน (*) >1)
การใช้งานค่าธรรมเนียมการเข้าถึงบริการรหัสการเข้าถึงรหัสการเข้าถึง
292518 148701 เสียง-BROADCAST@
292517 148701 วีไอพี@
292516 148701 CALLIN-DID@
292515 148701 โทรกลับ-INTL@
292512 148701 โทร@
292513 148701 โทรฟรี@
292514 148701 โทรกลับ@
292478 147945 เสียง-BROADCAST@
292477 147945 วีไอพี@
292475 147945 โทรกลับ-INTL@
292476 147945 CALLIN-DID@
292472 147945 โทร@
15. รับค่ารวมของฟิลด์บางฟิลด์ผ่านการสืบค้น หากค่านี้เป็นโมฆะ ระบบจะกำหนดค่าเริ่มต้นไว้ล่วงหน้า
เลือก nvl(ob.bookingvalue, 0) ค่าการจองจาก blis_order o, blis_orderbooking ob โดยที่ o.orderid=ob.orderid และ o.orderid =125034 และ ob.bookingtypeid = 215 และ ob.status = 'ใช้งานอยู่'
ที่นี่เรากังวลเกี่ยวกับการใช้ nvl (arg, value) หมายความว่าหากค่าของ arg ก่อนหน้าเป็นโมฆะ ค่าที่ส่งคืนจะเป็นค่าต่อไปนี้
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'
ผลลัพธ์จะเป็นดังนี้:
รหัสข้อเสนอ
ก1ข1
ก1ข2
ก2ข1
เอ2 บี2
18.การตัดสินแบบมีเงื่อนไข
กรณีที่ pc.provisioningby = 'BPS' จากนั้น 'True'
มิฉะนั้นจะสิ้นสุด 'เท็จ'
เลือก sos.Sosorderserviceid, st.sosprovisionticketid,
(กรณีที่ pc.provisioningby = 'BPS' จากนั้น 'True'
มิฉะนั้น 'เท็จ' สิ้นสุด) คือตัวเชื่อมต่อ
จาก blis_sosprovisionticket st, blis_sosorderform sof,
blis_sosorderservice sos, พีซี blis_packagecomponent
โดยที่ 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.jar หรือ class12.jar คือคลาสไดรเวอร์ของ 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:พอร์ต:SID
โปรดทราบว่าเป็น SID ไม่ใช่ชื่อฐานข้อมูล