เมื่อคุณป้อนคำสั่ง SQL ลงใน SQL * Plus มันจำเป็นต้องรู้เมื่อคุณทำเสร็จแล้วโดยเฉพาะอย่างยิ่งหากคำสั่งครอบคลุมหลายแถว ดังนั้นจึงต้องมีตัวละครที่ขั้วset sqlterminator
ของตัวละครซึ่งสามารถตั้งค่าด้วย โดยค่าเริ่มต้นตัวละครนี้เป็นอัฒภาค:
SQL> select *
2 from
3 dual;
D
-
X
ตอนนี้การเปลี่ยนอักขระเทอร์มินัลนี้เป็น#
:
SQL> set sqlterminator #
SQL> select *
2 from
3 dual#
D
-
X
คำสั่ง SQL ก็จบลง (สิ้นสุดการดำเนินการ) #
ด้วย
คุณถามว่า: ทำไมset sqlterminator #
ไม่ตามด้วยเครื่องหมายอัฒภาค? คำตอบเพราะนี่ไม่ใช่คำสั่ง SQL คำสั่งที่เกี่ยวข้องกับ SQL * Plus และพฤติกรรม, เอาต์พุต, การเชื่อมต่อ asf (เช่นset echo on
และconnect system/manager
) ไม่ใช่คำสั่ง SQL และถูกป้อนไว้ก่อนหน้าโดยไม่มีเครื่องหมายอัฒภาค
สิ่งนี้เกี่ยวข้องกับ/
อะไร?
เมื่อคุณป้อนคำสั่ง SQL, SQL * plus จะเติมบางสิ่งที่เรียกว่าบัฟเฟอร์ บัฟเฟอร์นี้สามารถแสดงได้ด้วยlist
คำสั่ง:
SQL> list
1 select *
2 from
3* dual
SQL>
(หมายเหตุ: ฉันป้อนเฉพาะรายการที่เหลือจะถูกส่งคืน)
/
ขณะนี้ดำเนินการในสิ่งที่เป็นอยู่ในปัจจุบันในบัฟเฟอร์ ลองดูสิ:
SQL> /
D
-
X
ที่สามารถเห็นได้แบบสอบถามเดียวกันจะถูกดำเนินการ