Tôi nghĩ vấn đề bạn đang gặp phải chủ yếu là cú pháp có liên quan. Nếu bạn có biến có tên là $ foo, $ {foo} sẽ tham chiếu cùng một biến. Vì vậy, các tham chiếu $ {table} và $ {schema} trong chuỗi sql của bạn hoạt động ok.
Sự cố xảy ra với $ {col.column_name}. Biến của bạn (tôi giả định) được gọi là $ col, và có một thành viên có tên là column_name. Như Robert và Steven đều cho biết trong câu trả lời của họ, để tham khảo điều này, bạn nên sử dụng $ ($ col.column_name). Nói chung, $ (expression) sẽ được thay thế bằng giá trị của biểu thức.
Lý do cho phép dấu ngoặc ôm trong tên biến là để các biến có thể có các ký tự không bình thường trong tên của chúng. Tôi khuyên bạn không nên sử dụng cú pháp $ {} (trừ khi bạn có lý do thuyết phục) và thay thế nó bằng tham chiếu $ var thẳng cho biến và $ ($ var.member) để tham chiếu thành viên trong chuỗi.
Nguồn
2008-11-11 21:06:20