คำถามติดแท็ก oracle

Oracle Database เป็นระบบการจัดการฐานข้อมูลหลายรุ่นที่สร้างโดย Oracle Corporation ห้ามใช้แท็กนี้สำหรับผลิตภัณฑ์อื่นที่ Oracle เป็นเจ้าของเช่น Java และ MySQL

9
วิธีการเพิ่ม 'ON DELETE CASCADE' ในคำสั่ง ALTER TABLE
ฉันมีข้อ จำกัด ของคีย์ต่างประเทศในตารางของฉันฉันต้องการเพิ่ม ON DELETE CASCADE ลงไป ฉันได้ลองสิ่งนี้: แก้ไขตาราง child_table_name แก้ไขข้อ จำกัด fk_name คีย์ต่างประเทศ (child_column_name) อ้างอิง parent_table_name (parent_column_name) ในการลบ cascade; ไม่ทำงาน แก้ไข: มี คีย์ต่างประเทศอยู่แล้วมีข้อมูลในคอลัมน์คีย์ต่างประเทศ ข้อความแสดงข้อผิดพลาดที่ฉันได้รับหลังจากดำเนินการคำสั่ง: ORA-02275: ข้อ จำกัด ในการอ้างอิงดังกล่าวมีอยู่แล้วในตาราง
130 sql  oracle 

6
ORA-30926: ไม่สามารถรับชุดแถวที่มั่นคงในตารางต้นทาง
ฉันได้รับ ORA-30926: ไม่สามารถรับชุดแถวที่มั่นคงในตารางต้นทาง ในแบบสอบถามต่อไปนี้: MERGE INTO table_1 a USING (SELECT a.ROWID row_id, 'Y' FROM table_1 a ,table_2 b ,table_3 c WHERE a.mbr = c.mbr AND b.head = c.head AND b.type_of_action <> '6') src ON ( a.ROWID = src.row_id ) WHEN MATCHED THEN UPDATE SET in_correct = 'Y'; ฉันรันtable_1มันมีข้อมูลและฉันก็รันเคียวรีภายใน ( src) …
129 oracle  sql-merge 

5
Oracle PL / SQL - วิธีสร้างตัวแปรอาร์เรย์อย่างง่าย?
ฉันต้องการสร้างตัวแปรอาร์เรย์ในหน่วยความจำที่สามารถใช้ในรหัส PL / SQL ของฉัน ฉันไม่พบคอลเลกชันใด ๆ ใน Oracle PL / SQL ที่ใช้หน่วยความจำแท้ดูเหมือนว่าทุกอย่างจะเชื่อมโยงกับตาราง ฉันกำลังมองหาที่จะทำสิ่งนี้ใน PL / SQL ของฉัน (ไวยากรณ์ C #): string[] arrayvalues = new string[3] {"Matt", "Joanne", "Robert"}; แก้ไข: Oracle: 9i
128 oracle  plsql  oracle9i 

17
ฉันจะคำนวณขนาดตารางใน Oracle ได้อย่างไร
เมื่อใช้ (และอาจถูกทำลายโดย) MSSQL ฉันสงสัยว่าฉันจะได้ขนาดตารางใน Oracle 10g ได้อย่างไร ฉันได้ googled แล้วตอนนี้ฉันรู้ว่าฉันอาจไม่มีตัวเลือกที่ง่ายเหมือน sp_spaceused คำตอบที่เป็นไปได้ที่ฉันได้รับส่วนใหญ่ล้าสมัยหรือไม่ได้ผล อาจเป็นเพราะฉันไม่ใช่ DBA ในสคีมาที่ฉันทำงานด้วย ใครมีวิธีแก้ปัญหาและหรือคำแนะนำ
128 oracle 

4
วิธีใช้ Oracle ORDER BY และ ROWNUM อย่างถูกต้อง?
ฉันมีปัญหาในการแปลงกระบวนงานที่จัดเก็บจาก SQL Server เป็น Oracle เพื่อให้ผลิตภัณฑ์ของเราเข้ากันได้กับมัน ฉันมีคำถามที่ส่งคืนระเบียนล่าสุดของตารางบางตารางโดยอิงตามการประทับเวลา: เซิร์ฟเวอร์ SQL: SELECT TOP 1 * FROM RACEWAY_INPUT_LABO ORDER BY t_stamp DESC => นั่นจะส่งคืนบันทึกล่าสุดให้ฉัน แต่Oracle: SELECT * FROM raceway_input_labo WHERE rownum <= 1 ORDER BY t_stamp DESC => นั่นจะส่งคืนบันทึกที่เก่าแก่ที่สุดให้ฉัน (อาจขึ้นอยู่กับดัชนี) โดยไม่คำนึงถึงORDER BYคำสั่ง! ฉันสรุปการสืบค้น Oracle ด้วยวิธีนี้เพื่อให้ตรงกับความต้องการของฉัน: SELECT * FROM (SELECT * FROM raceway_input_labo ORDER …

22
มีระบบควบคุมเวอร์ชันสำหรับการเปลี่ยนแปลงโครงสร้างฐานข้อมูลหรือไม่?
ฉันมักจะพบปัญหาต่อไปนี้ ฉันทำงานกับการเปลี่ยนแปลงบางอย่างในโครงการที่ต้องการตารางหรือคอลัมน์ใหม่ในฐานข้อมูล ฉันทำการแก้ไขฐานข้อมูลและทำงานต่อ โดยปกติฉันจำไว้ว่าต้องจดบันทึกการเปลี่ยนแปลงเพื่อให้สามารถจำลองซ้ำบนระบบถ่ายทอดสดได้ อย่างไรก็ตามฉันจำไม่ได้เสมอไปว่าฉันเปลี่ยนแปลงอะไรไปบ้างและฉันก็จำไม่ได้ว่าจะเขียนมันลงไปเสมอ ดังนั้นฉันจึงผลักดันระบบถ่ายทอดสดและได้รับข้อผิดพลาดใหญ่ที่ชัดเจนว่าไม่มีNewColumnXฮึ แม้ว่านี่อาจไม่ใช่แนวทางปฏิบัติที่ดีที่สุดสำหรับสถานการณ์นี้ แต่มีระบบควบคุมเวอร์ชันสำหรับฐานข้อมูลหรือไม่? ฉันไม่สนใจเกี่ยวกับเทคโนโลยีฐานข้อมูลเฉพาะ ฉันแค่อยากรู้ว่ามีอยู่หรือเปล่า ถ้าเกิดว่าทำงานกับ MS SQL Server ได้ล่ะก็เยี่ยมเลย

4
มีความแตกต่างระหว่าง“! =” และ“ <>” ใน Oracle Sql หรือไม่
ฉันต้องการทราบว่ามีความแตกต่างระหว่างตัวnot equalดำเนินการทั้งสอง&lt;&gt;และ!=ใน Oracle หรือไม่ มีบางกรณีที่สามารถให้ผลลัพธ์ที่แตกต่างกันหรือประสิทธิภาพที่แตกต่างกันได้หรือไม่?
123 sql  oracle 

12
แบบสอบถาม Oracle เพื่อดึงชื่อคอลัมน์
ฉันมีแบบสอบถาม mySQL เพื่อรับคอลัมน์จากตารางดังนี้: String sqlStr="select column_name from information_schema.COLUMNS where table_name='users' and table_schema='"+_db+"' and column_name not in ('password','version','id')" ฉันจะเปลี่ยนข้อความค้นหาข้างต้นในฐานข้อมูล Oracle 11g ได้อย่างไร ฉันต้องการรับชื่อคอลัมน์เป็นชุดผลลัพธ์สำหรับตาราง 'ผู้ใช้' โดยไม่รวมคอลัมน์บางคอลัมน์โดยระบุสคีมา ตอนนี้ฉันมีตารางทั้งหมดในพื้นที่ตารางใหม่ฉันจึงระบุชื่อพื้นที่ตารางแทนชื่อสคีมาหรือไม่ มี HQL ทั่วไปสำหรับสิ่งนี้ด้วยหรือไม่? ในฐานข้อมูล Oracle ใหม่ของฉัน (ฉันยังใหม่กับ Oracle) ฉันมีเพียงชื่อพื้นที่ตารางดังนั้นจึงเทียบเท่ากับชื่อสคีมา (ในเชิงเหตุผล?)
123 sql  oracle 


7
ฉันต้องสร้างดัชนีบนคีย์ต่างประเทศบน Oracle หรือไม่
ผมมีตารางและตาราง A มีคีย์ต่างประเทศกับในคีย์หลัก 's,BABBB_ID ด้วยเหตุผลบางอย่าง (ฉันรู้ว่ามีเหตุผลที่ถูกต้อง) มันไม่ได้ใช้ดัชนีเมื่อฉันเข้าร่วมสองตารางนี้กับคีย์ ฉันจำเป็นต้องสร้างดัชนีแยกต่างหากA.B_IDหรือการมีอยู่ของคีย์ต่างประเทศให้ข้อมูลนั้น?
121 sql  oracle  indexing 

6
ข้อผิดพลาด: ORA-65096: ชื่อผู้ใช้ทั่วไปหรือชื่อบทบาทไม่ถูกต้องใน oracle
Наэтотвопросестьответына Stack Overflow нарусском : Ошибка - ORA-65096: ชื่อผู้ใช้หรือบทบาททั่วไปที่ไม่ถูกต้อง - присозданиипользователя ฉันเพิ่งติดตั้ง oracle11g และมันไม่มี Scott schema ดังนั้นฉันจึงพยายามสร้างมันด้วยตัวเอง ฉันได้รับสคริปต์ sql ของสคีมา "Scott" แต่เมื่อฉันพยายามเรียกใช้แบบสอบถาม "create user Scott ที่ระบุโดย tiger" จะแสดงข้อผิดพลาดต่อไปนี้: ORA-65096: ชื่อผู้ใช้ทั่วไปหรือชื่อบทบาทที่ไม่ถูกต้องใน oracle โดยทั่วไปแล้วจะไม่อนุญาตให้ฉันสร้างผู้ใช้ "Scott" เหตุใดจึงเป็นเช่นนั้นและฉันจะแก้ไขปัญหาได้อย่างไร
118 oracle  oracle12c 

16
ค้นหาฟิลด์ทั้งหมดในตารางทั้งหมดเพื่อหาค่าเฉพาะ (Oracle)
เป็นไปได้ไหมที่จะค้นหาทุกฟิลด์ของทุกตารางเพื่อหาค่าเฉพาะใน Oracle มีหลายร้อยตารางที่มีแถวหลายพันแถวในบางตารางดังนั้นฉันจึงรู้ว่าอาจใช้เวลาในการสืบค้นนานมาก 1/22/2008P09RR8แต่สิ่งเดียวที่ผมรู้คือค่าสำหรับสนามผมอยากจะใช้แบบสอบถามกับเป็น &lt; ฉันได้ลองใช้คำสั่งด้านล่างนี้เพื่อค้นหาคอลัมน์ที่เหมาะสมตามสิ่งที่ฉันคิดว่าควรตั้งชื่อ แต่กลับไม่มีผลลัพธ์ SELECT * from dba_objects WHERE object_name like '%DTN%' ไม่มีเอกสารใด ๆ ในฐานข้อมูลนี้และฉันไม่รู้ว่าฟิลด์นี้ถูกดึงมาจากที่ใด ความคิดใด ๆ ?

10
ฉันจะใช้ตัวแปรใน Oracle SQL Developer ได้อย่างไร
ด้านล่างนี้เป็นตัวอย่างของการใช้ตัวแปรใน SQL Server 2000 DECLARE @EmpIDVar INT SET @EmpIDVar = 1234 SELECT * FROM Employees WHERE EmployeeID = @EmpIDVar ฉันต้องการทำสิ่งเดียวกันใน Oracle โดยใช้ SQL Developer โดยไม่มีความซับซ้อนเพิ่มเติม ดูเหมือนเป็นสิ่งที่ง่ายมากที่ต้องทำ แต่ฉันหาวิธีง่ายๆไม่ได้ ฉันจะทำมันได้อย่างไร?
116 sql  oracle  variables  declare 

13
java.sql.SQLException: - ORA-01000: เกินเคอร์เซอร์เปิดสูงสุด
ฉันได้รับข้อยกเว้น ORA-01000 SQL ดังนั้นฉันจึงมีคำถามที่เกี่ยวข้องกับมัน เคอร์เซอร์แบบเปิดสูงสุดเกี่ยวข้องกับจำนวนการเชื่อมต่อ JDBC หรือไม่หรือเกี่ยวข้องกับคำสั่งและวัตถุผลลัพธ์ที่เราสร้างขึ้นสำหรับการเชื่อมต่อเดียวหรือไม่ (เรากำลังใช้กลุ่มการเชื่อมต่อ) มีวิธีกำหนดค่าจำนวนวัตถุคำสั่ง / ผลลัพธ์ในฐานข้อมูลหรือไม่ (เช่นการเชื่อมต่อ) แนะนำให้ใช้คำสั่งตัวแปรอินสแตนซ์ / ออบเจ็กต์ผลลัพธ์แทนวิธีโลคัลคำสั่ง / อ็อบเจ็กต์ผลลัพธ์ในสภาพแวดล้อมเธรดเดียวหรือไม่ การดำเนินการคำสั่งที่เตรียมไว้ในลูปทำให้เกิดปัญหานี้หรือไม่ (แน่นอนฉันสามารถใช้ sqlBatch ได้) หมายเหตุ: pStmt ถูกปิดเมื่อลูปสิ้นสุดลง { //method try starts String sql = "INSERT into TblName (col1, col2) VALUES(?, ?)"; pStmt = obj.getConnection().prepareStatement(sql); pStmt.setLong(1, subscriberID); for (String language : additionalLangs) { pStmt.setInt(2, …
115 java  oracle  jdbc 

6
แสดงชื่อของข้อ จำกัด ทั้งหมดสำหรับตารางใน Oracle SQL
ฉันได้กำหนดชื่อสำหรับแต่ละข้อ จำกัด สำหรับหลายตารางที่ฉันสร้างใน Oracle SQL ปัญหาคือการที่จะวางข้อ จำกัด สำหรับคอลัมน์ของตารางใดตารางหนึ่งฉันจำเป็นต้องรู้ชื่อที่ฉันให้ไว้สำหรับข้อ จำกัด แต่ละข้อซึ่งฉันลืมไปแล้ว ฉันจะแสดงชื่อของข้อ จำกัด ทั้งหมดที่ฉันระบุไว้สำหรับแต่ละคอลัมน์ของตารางได้อย่างไร มีคำสั่ง SQL สำหรับการทำเช่นนั้นหรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.