【问题标题】:basic variables returning all results返回所有结果的基本变量
【发布时间】:2019-01-15 12:42:01
【问题描述】:

我有以下变量。

DECLARE 
v_clt NUMBER;
BEGIN 
DBMS_OUTPUT.PUT_LINE(v_clt);
END;
/
SELECT *
FROM  CCP
WHERE CCP.ID = &v_clt 
--AND CASE WHEN &v_clt < 1 THEN ID ELSE &v_clt END ID

我的查询中有可能的子查询,我希望能够通过为每个子查询添加一个值来测试查询,因此变量和它的工作原理。

我也希望能够在任何给定点返回所有结果。这可以实现吗?

【问题讨论】:

  • 我不明白你在做什么。我也没有看到任何子查询。您想使用参数运行查询吗?比如说,选择可以提供或不提供名字和/或姓氏的员工?

标签: oracle variables stored-procedures declare


【解决方案1】:

您可以使用特殊值作为0 结合decode(或case)来查看所有结果

WHERE CCP.ID = decode(&v_clt,0,CCP.ID,&v_clt )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 2015-10-23
    • 2012-06-08
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2018-03-17
    相关资源
    最近更新 更多