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

Tham số hóa tên bảng trong tệp đầu vào sqlplus

Vấn đề là SQL * Plus đang xử lý toàn bộ chuỗi sau & , cho đến khoảng trắng tiếp theo hoặc mô phỏng, làm tên biến thay thế. Rõ ràng đó không phải là điều bạn muốn ở đây.

May mắn thay, họ đã nghĩ ra điều này và bạn có thể biểu thị phần cuối của tên biến bằng . :

FROM &3._TABLE

(Ít nhất, điều đó hoạt động đối với các biến được đặt tên và tôi gần như chắc chắn rằng nó sẽ hoạt động đối với các biến có vị trí ... nếu không thì bạn cần phải xác định một biến mới được đặt thành &3 như một giải pháp thay thế).

Nó có trong tài liệu , nhưng hãy chớp mắt và bạn sẽ bỏ lỡ nó:

Có một tác động liên quan mà bạn có thể muốn ghi nhớ trong tương lai. Nếu ký tự tiếp theo sau biến thay thế là . dù sao - giữa lược đồ và bảng, hoặc giữa bảng và cột, chẳng hạn - thì điều đó sẽ được hiểu là dấu chấm hết thay thế. Giả sử bạn đang chuyển riêng lược đồ dưới dạng &4 , với giá trị 'scott'; cái này:

FROM &4.&3._TABLE

trông hợp lý nhưng sẽ được thay thế bằng scottdev_TABLE , sẽ không được nhận dạng. Vì vậy, trong trường hợp đó, bạn cần phải có thêm một cái:

FROM &4..&3._TABLE

sẽ được thay thế bằng scott.dev_TABLE .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi không thể sử dụng các biến liên kết trong các câu lệnh DDL / SCL trong SQL động?

  2. GRANT có thể được sử dụng bên trong Thủ tục lưu trữ Oracle không?

  3. Chọn các hàng cho đến khi điều kiện được đáp ứng

  4. SQL tiêu chuẩn thay thế cho Oracle DECODE

  5. oracle động sql đánh giá biểu thức trong mệnh đề where