# Code Analysis: Rule 5406

**URL:** <https://forums.toadworld.com/t/code-analysis-rule-5406/38048>\
**Category:** Toad for Oracle - Beta\
**Created:** [July 19, 2016, 2:36am UTC](https://forums.toadworld.com/t/code-analysis-rule-5406/38048 "2016-07-19T02:36:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![PeterLang](https://avatars.discourse-cdn.com/v4/letter/p/71e660/32.png) [@PeterLang](https://forums.toadworld.com/u/PeterLang)\
**Post date:** [July 19, 2016, 2:36am UTC](https://forums.toadworld.com/t/code-analysis-rule-5406/38048/1 "2016-07-19T02:36:49Z")

</div>

These two snippets are marked with “5406: Remove unused parameters or modify code to use the parameter.”

DECLARE  
CURSOR test\_cur(  
in\_dummy IN dual.dummy%TYPE  
)  
IS  
SELECT ROW\_NUMBER() OVER( ORDER BY CASE WHEN dummy = in\_dummy THEN 1 END )  
FROM dual;  
BEGIN  
NULL;  
END;

CREATE OR REPLACE PROCEDURE test\_proc(  
in\_dummy IN dual.dummy%TYPE  
)  
AS  
rn PLS\_INTEGER;  
BEGIN  
SELECT ROW\_NUMBER() OVER( ORDER BY CASE WHEN dummy = in\_dummy THEN 1 END )  
INTO rn  
FROM dual;  
END test\_proc;

CREATE OR REPLACE PROCEDURE test\_proc(  
in\_dummy IN dual.dummy%TYPE  
)  
AS  
rn PLS\_INTEGER;  
BEGIN  
SELECT ROW\_NUMBER() OVER( ORDER BY CASE WHEN dummy = in\_dummy THEN 1 END )  
INTO rn  
FROM dual;

---

<div class="post-metadata">

**Author:** ![avergison](https://sea1.discourse-cdn.com/quest/user_avatar/forums.toadworld.com/avergison/32/66_2.png) [@avergison](https://forums.toadworld.com/u/avergison)\
**Post date:** [July 20, 2016, 2:52am UTC](https://forums.toadworld.com/t/code-analysis-rule-5406/38048/2 "2016-07-20T02:52:14Z")

</div>

Need a thorough look (QP-1726)

Thanks,  
Andre

---

<div class="post-metadata">

**Author:** ![PeterLang](https://avatars.discourse-cdn.com/v4/letter/p/71e660/32.png) [@PeterLang](https://forums.toadworld.com/u/PeterLang)\
**Post date:** [July 21, 2016, 1:41am UTC](https://forums.toadworld.com/t/code-analysis-rule-5406/38048/3 "2016-07-21T01:41:13Z")

</div>

Similar problem here, not sure if related:

PROCEDURE insert\_something(  
in\_something IN PLS\_INTEGER  
)  
AS  
BEGIN  
INSERT INTO some\_table( some\_column )  
(  
SELECT in\_something FROM dual  
);  
END insert\_something;

---

<div class="post-metadata">

**Author:** ![avergison](https://sea1.discourse-cdn.com/quest/user_avatar/forums.toadworld.com/avergison/32/66_2.png) [@avergison](https://forums.toadworld.com/u/avergison)\
**Post date:** [November 17, 2016, 8:39am UTC](https://forums.toadworld.com/t/code-analysis-rule-5406/38048/4 "2016-11-17T08:39:37Z")

</div>

This has been addressed, soon to show up in a new Toad having QP5 version 5.305 (or later).  
In addition, the following issues were detected and fixed:

- Nested variable declarations and parameter declarations in nested program units or cursors are taken into account.,
- Items in select lists are no longer discarded,
- In qualified names now only the leftmost identifier is taken into account.  
Thanks,  
Andre

---

<div class="post-metadata">

**Author:** ![PeterLang](https://avatars.discourse-cdn.com/v4/letter/p/71e660/32.png) [@PeterLang](https://forums.toadworld.com/u/PeterLang)\
**Post date:** [November 23, 2016, 11:24pm UTC](https://forums.toadworld.com/t/code-analysis-rule-5406/38048/5 "2016-11-23T23:24:00Z")

</div>

Is there a way for me to find out the QP5 version of a TOAD release?

---

<div class="post-metadata">

**Author:** ![avergison](https://sea1.discourse-cdn.com/quest/user_avatar/forums.toadworld.com/avergison/32/66_2.png) [@avergison](https://forums.toadworld.com/u/avergison)\
**Post date:** [November 24, 2016, 8:04am UTC](https://forums.toadworld.com/t/code-analysis-rule-5406/38048/6 "2016-11-24T08:04:37Z")

</div>

Sure. Go to the Toad program files folder, locate file QP5.dll and then right click Properties -\> Details.
