หากฉันทำผิดพลาดใน 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 - เป็นสิ่งที่คุณพูดถึงหรือไม่?