Dua kueri berikut tampaknya setara ketika dijalankan dalam sql * plus:
1.
select * from user_tables;
2.
select * from user_tables
/
Apakah ada perbedaan antara kedua versi?
Tidak ada perbedaan untuk pernyataan SQL tunggal. Karakter '/' pada barisnya memberitahu SQL * Plus untuk menjalankan perintah di buffer. Anda bisa menggunakan titik koma di akhir sebagian besar pernyataan SQL sebagai singkatan untuk '/'. Jika Anda ingin menjalankan blok PL / SQL atau mengeksekusi beberapa pernyataan SQL seperti CREATE TYPE
, Anda harus menggunakan tanda '/'
SQL> begin
2 null;
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> create type foo as object (
2 col1 number,
3 col2 number );
4 /
Type created.
Alat yang berbeda mungkin memiliki konvensi yang sedikit berbeda untuk cara Anda menjalankan beberapa pernyataan SQL dan PL / SQL dalam skrip jadi perlu diketahui bahwa ini adalah khusus SQL * Plus.
GO
? (Pada dasarnya, pemisah batch.)Dan selain apa yang disebutkan Justin - karena
/
menjalankan apa pun yang ada di buffer, itu juga dapat digunakan setelah mengedit perintah sebelumnya, atau bahkan hanya untuk menjalankan perintah yang sama beberapa kali.Jika Anda memanggil
ed
sqlplus, ia akan mencoba untuk menulis file tempAFIEDT.BUF
di direktori Anda saat ini, dan kemudian memunculkan editor (vi, notepad, dll.), Agar Anda dapat mengedit perintah terakhir yang dikirim. Begitu Anda keluar dari editor, Anda gunakan/
untuk mengirim buffer yang dimodifikasi.sumber