หากฉันทำผิดพลาดใน SQLPlus ในขณะที่ป้อนคำสั่ง 'แทรกลงใน' มีวิธีที่ฉันสามารถนำข้อมูลนี้มาสำรองเพื่อแก้ไขได้หรือไม่?
sqlcl(เป็นแอปพลิเคชัน Java แต่เป็นแอพพลิเคชั่นที่แปลกใหม่และเทอร์มินัลสนับสนุนสำหรับ CLI)
หากฉันทำผิดพลาดใน SQLPlus ในขณะที่ป้อนคำสั่ง 'แทรกลงใน' มีวิธีที่ฉันสามารถนำข้อมูลนี้มาสำรองเพื่อแก้ไขได้หรือไม่?
sqlcl(เป็นแอปพลิเคชัน Java แต่เป็นแอพพลิเคชั่นที่แปลกใหม่และเทอร์มินัลสนับสนุนสำหรับ CLI)
คำตอบ:
หลายวิธี
คุณสามารถตั้งค่าEDITORตัวแปรสภาพแวดล้อมก่อนที่จะรัน SQL * Plus (Assuming Unix) เพื่ออนุญาตให้ใช้โปรแกรมแก้ไขข้อความภายนอก ( viตัวอย่างเช่น):
export EDITOR=vi
จากนั้นพิมพ์edใน SQL * Plus เพื่อแก้ไขคิวรีก่อนหน้าในviเครื่องมือแก้ไข แน่นอนคุณอาจจะชอบnano, pico, emacs, vimฯลฯ เป็นต้น
หากคุณไม่ต้องการตั้งค่าตัวแปรสภาพแวดล้อมคุณสามารถเพิ่มไฟล์define _editor=viของคุณ$ORACLE_HOME/sqlplus/admin/glogin.sqlแทน
วิธีที่ชื่นชอบของการบรรลุแก้ไขสวรรค์ SQL * Plus (ใน Unix) rlwrapคือการใช้ สิ่งนี้จะเพิ่มreadlineการรองรับ SQL * Plus และช่วยให้คุณสามารถแก้ไขภายใน SQL * Plus ได้อย่างง่ายดาย
ติดตั้งrlwrapจากที่เก็บแพ็คเกจการแจกจ่ายของคุณ (หรือดาวน์โหลดและรวบรวมจากเว็บไซต์ที่นี่ ) จากนั้นเพิ่มสคริปต์ต่อไปนี้ลงในเชลล์เริ่มต้น ( .bashrc/ .bash_profileหรือคล้ายกัน):
alias sqlplus="rlwrap -i sqlplus"
ยกเว้นบางสิ่งที่มีการเปลี่ยนแปลงเพียงแค่พิมพ์ "แก้ไข" แล้วกด Enter จากนั้นจะเปิดใน Notepad (สมมติว่ามี Windows ที่นี่) และคุณสามารถเปลี่ยนแบบสอบถามในนั้นได้
สำหรับแอ็พพลิเคชันบรรทัดคำสั่งemacs ทั้งหมดสามารถใช้เป็นอินเตอร์เฟส คุณสามารถเปิดโหมดเชลล์และเรียกใช้เครื่องมือบรรทัดคำสั่ง Emacs จะส่งคำสั่งที่คุณป้อนไปยังเครื่องมือบรรทัดคำสั่งและอ่านและแสดงผลลัพธ์ เนื่องจากคุณพิมพ์อินพุตของคุณเป็น emacs คุณสามารถจัดการอินพุตของคุณโดยใช้คำสั่ง emacs การใช้โหมดนี้ emacs สามารถใช้กับเครื่องมือพยากรณ์ต่อไปนี้เช่น *
มีโหมดsql-oracleพิเศษที่รองรับsqlplus เป็นพิเศษ ฉันทำงานกับมันมานานแล้ว วันนี้ฉันไม่พบมันในเอกสารประกอบ ฉันค้นหาเว็บและ แต่ฉันพบต่อไปนี้การเชื่อมโยง บางทีคุณสามารถค้นหาเพิ่มเติมได้เมื่อค้นหาเอกสาร emacs มีอื่น ๆ ที่มี โหมด SQL สำหรับ emacs หน้านี้มีการอ้างอิงถึงลิงค์ที่พบโดย @Jack Douglas
ผู้คนจำนวนมากไม่ชอบ emacs เพราะพวกเขาคิดว่ามันเป็นเครื่องมือที่ซับซ้อน
viแฟน ๆ หรือไม่; ฉันพบสิ่งนี้ (เห็นได้ชัดว่า "ได้รับแรงบันดาลใจจาก sqlplus-mode.el") บน Google - เป็นสิ่งที่คุณพูดถึงหรือไม่?