cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

How can I test for no rows back from Oracle query

vincenr
New Contributor III

I am trying to figure out how to route to a โ€˜no dataโ€™ path when nothing is returned from my select query. Can someone help me out?

image

What Iโ€™ve tried is (in โ€˜Is there data?โ€™ snap): $retval != null (then go to data path); otherwise, go to nodata path. But Iโ€™m guessing since the select didnโ€™t return anything, there is no $retval to look at (catch22).

I also tried:

image

17 REPLIES 17

vincenr
New Contributor III

Quick question about the first two snaps in my pipeline (Oracle Execution and the mapper snap), if there is more than one row of results in the โ€˜Selectโ€™ query, how does snapLogic decide which value to assign to โ€˜AUDIT_COUNTโ€™ in the mapper snap? Because my comparison in the โ€˜Is there dataโ€™ router looks to see what the value isโ€ฆ if itโ€™s not zero, it executes the upper pipeline; if itโ€™s zero, it executes the lower pipeline. So far itโ€™s working, but Iโ€™m not sure if itโ€™s because it just takes โ€˜AUDIT_COUNTโ€™ from the first row of results, which will either be zero if the dummy record is the only row, or something other than zero if there are any other rows (ex: AUDIT_COUNT is 2 or 5 etc).

image

image

image

vincenr
New Contributor III

But will the $ = {} work if my router snap has a mapper snap and pipeline execution snap in between it and the Oracle Execute?

vincenr
New Contributor III

Ok, so I changed the pipeline to compare $ = {} but itโ€™s not working for me.

image.png

image.png

vincenr
New Contributor III

Sorry, this is what I changed it to which would be the correct logic for my case:

image.png

image.png

image.png

vincenr
New Contributor III

But the main thing Iโ€™d like to know is how does snapLogic decide behind the scenes how to populate AUDIT_COUNT with the pipeline I pasted above? Does it use the count from the first row in the returned rows or what does it do?

image.png

image.png

image.png