Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Định cấu hình SQL * Plus để trả về không có gì ngoài dữ liệu

Có một vài cách tiếp cận khác nhau trong chuỗi askTom này trên trả về giá trị từ SQL * Plus cho tập lệnh shell .

Một cách tiếp cận phổ biến là chọn một mã thông báo không đổi ngoài giá trị mà bạn muốn trả về (trong ví dụ của Tom, đó là chuỗi "KEEP") và sau đó sử dụng sed (hoặc trình phân tích cú pháp dòng lệnh yêu thích của bạn) để trích xuất dữ liệu của bạn. thực sự quan tâm đến

#!/bin/ksh

x=`sqlplus / <<endl | grep KEEP | sed 's/KEEP//;s/[   ]//g'
select 'KEEP' , max(sal) from emp;
exit
endl`

echo the answer is $x

Các phương pháp tiếp cận khác, chẳng hạn như các phương pháp cho phép bạn đọc nhiều dòng đầu ra cũng được thảo luận trong chủ đề đó.

Nếu bạn không muốn in tiêu đề, bạn nên chỉ định

set head off

trong tập lệnh SQL * Plus của bạn-- Tôi không chắc tại sao bạn lại bật tiêu đề một cách rõ ràng trong tập lệnh nếu bạn không muốn tiêu đề ... Bạn có muốn giữ lại một số phần của tiêu đề không?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để ngăn thông báo hoàn tất thành công thủ tục PL / SQL trong sqlplus?

  2. Cách cài đặt cx_Oracle trên El Capitan

  3. c3p0 bị treo trên getConnection khi có lỗi mạng

  4. Thả bảng khỏi cơ sở dữ liệu oracle nếu bảng tồn tại trong câu lệnh sql

  5. Muốn truy vấn đơn giản này lặp lại