【发布时间】:2015-04-13 15:03:18
【问题描述】:
我在工作中遇到了关于 PL/SQL 的晦涩代码,请您为我解释一下,这是什么意思?
PL/SQL 执行“选择”请求,例如
DECODE(SIGN(ABS(SUM(amount))) - :3, -1, 0, SUM(AMOUNT)),
' - :3' 是什么?有什么作用?
【问题讨论】:
-
MySql 中没有 DECODE 功能。那是 Oracle PL/SQL 吗?如果是,那么
:3是绑定变量的名称。 -
是的,它是PL SQL代码。它调用简单的 sql 'select' 请求并在请求中使用这个绑定变量。但它绑定什么???我在此请求或剩余代码中没有另一个 ':3'?我如何才能找到此代码在此 olace 中使用的数字(数量)?
-
请编辑问题以显示整个 SQL 字符串,以及使用
execute immediate运行它的方式 - 这将更容易解释绑定变量代表什么以及它的实际运行时值在哪里来自。
标签: sql oracle plsql plsqldeveloper