【发布时间】:2013-05-29 10:16:03
【问题描述】:
有人可以在下面的 TCL 源代码中解释一下吗:
set sql "SELECT PROD.KEY || ' {' || PARAMETERS || '}' \
FROM PRV_PROD_MAPPING PROD \
WHERE PROD.SERVICE_ID = :service_id \
AND (PROD.KEY || ' ' || PROD.KEY_VAL) \
IN (:keys) "
:service_id 和 :keys 是什么意思。我可以通过简单的跟踪查看背后的值吗? 我怎样才能找到这些变量的定义位置?
提前致谢!
【问题讨论】:
-
您所展示的只是将字符串分配给名为“sql”的变量。你的程序用那个字符串做什么?您使用什么机制与数据库交互?
-
你是对的,但我想知道的是如何查看 (:keys) 背后的值。当我尝试调用 $keys 时,没有这样的变量!
-
我应该将这些绑定变量理解为占位符吗?
-
它们确实是占位符;它们如何填写取决于驱动程序。那些符合 TDBC 规范的将使用变量或提供的字典(如 Glenn 的回答所示)。
标签: plsql tcl trace bind-variables