Masalah Anda adalah parameter input Anda memiliki nama yang sama dengan kolom Anda, jadi ketika kueri melihat
WHERE SCOTT.EMP.DEPTNO = deptno
itu menafsirkan deptno
sebagai SCOTT.EMP.DEPTNO
, artinya benar untuk semua nilai deptno
. Ubah nama parameter input Anda dan kueri akan berfungsi seperti yang diharapkan.
Anda juga harus menggunakan NVL
untuk memastikan bahwa individu SUM
nilai bukan NULL
, seolah-olah salah satunya adalah NULL
yang akan membuat jumlah mereka NULL
juga yaitu
select NVL(SUM(SAL), 0) INTO SALSUM FROM SCOTT.EMP WHERE SCOTT.EMP.DEPTNO = numerdept;
select NVL(SUM(COMM), 0) INTO COMMSUM FROM SCOTT.EMP WHERE SCOTT.EMP.DEPTNO = numerdept;