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

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

Bạn có thể thực hiện việc này với 2 tệp kịch bản SQL như sau:

1) Tệp myscript.sql:

ACCEPT column_name CHAR PROMPT 'Please insert column name: '

SELECT DISTINCT owner, table_name
FROM all_tab_columns
WHERE column_name IN ('&column_name');

-- Ask the user if the want to search again
ACCEPT response CHAR PROMPT 'Would you like to search for another column? '

-- Use a SELECT statement to look at their response and set variable "script" as appropriate
COLUMN script new_value script

-- Stop this select's results being displayed (in SQL Plus)
SET TERM OFF

SELECT CASE LOWER('&response.') WHEN 'yes' THEN 'myscript' ELSE 'stop' END AS script
FROM DUAL;

-- Switch terminal output back on
SET TERM ON

-- Run whichever script the user chose i.e. "myscript.sql" if they said "yes", "stop.sql" if they said "no".
@&script.

2) Tệp stop.sql:

-- This script just says "Have a nice day" then ends.
PROMPT Have a nice day

Tùy thuộc vào việc người dùng trả lời 'có' hay 'không', tập lệnh sẽ tự chạy lại (vòng lặp) hoặc chạy tập lệnh stop.sql, chỉ cho biết "Chúc một ngày tốt lành".




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ước tính thời gian tạo chỉ mục trong oracle

  2. biểu thức chính quy cho các từ dài dòng được phân tách bằng các từ dài khác nhau

  3. Làm thế nào để hủy bỏ một hoạt động Cơ sở dữ liệu đã chạy lâu?

  4. Cách xuất lược đồ cơ sở dữ liệu trong Oracle sang tệp kết xuất

  5. Tại sao tôi dường như không thể buộc Oracle 11g tiêu thụ nhiều CPU hơn cho một truy vấn SQL duy nhất