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
.