首先,我道歉,我是SQL的新手。
我试图找出如何为定义的变量输入多个值。
目前我正在使用以下内容;
UNDEFINE MPAN_CORE
SELECT customer.MPAN.j0003 AS MPAN, customer.AGENT.j0183 AS DA, customer.AGENT.j0205 AS DC, customer.agent.j0178 AS MOP
FROM customer.mpan
INNER JOIN customer.agent
ON customer.mpan.uniq_id = customer.agent.mpan_lnk
WHERE customer.mpan.j0003 = '&&MPAN_CORE'
基本上我希望能够为客户MPAN输入多个值,并且有多个结果。目前我不得不一次输入一个MPAN。
不确定这是否可能,可能就像使用字符来划分我的输入值一样简单吗?
非常感谢任何帮助
谢谢
答案 0 :(得分:0)
WHERE customer.mpan.j0003 ='&& MPAN_CORE'
使用等号运算符=
不能有多个值。对于多个值,您需要使用 IN列表。
例如,
SQL> SELECT empno, deptno FROM emp WHERE ename IN ('SMITH','KING','SCOTT');
EMPNO DEPTNO
---------- ----------
7369 20
7788 20
7839 10
SQL>
或者,使用替换变量:
SQL> SELECT empno, deptno FROM emp WHERE ename IN (&a);
Enter value for a: 'SMITH','KING','SCOTT'
old 1: SELECT empno, deptno FROM emp WHERE ename IN (&a)
new 1: SELECT empno, deptno FROM emp WHERE ename IN ('SMITH','KING','SCOTT')
EMPNO DEPTNO
---------- ----------
7369 20
7788 20
7839 10
SQL>