Again more apologies from myself for being a Jmeter newbie - I'm a little stuck with the JDBC requests - I've trawled through the posts on this site for the last 3 hours - but I can't quite find anything relevant (unless I'm missing something).
My environment: Jmeter v2.11, JDK 7, Oracle 12
It's very simple - I have a JDBC Sampler that I need to setup to use the value that is provided by a JDBC PreProcessor.
Essentially I have a JDBCPreProcessor setup to identify the next (new) record's unique reference (call it applicationID)
JDBC PreProcessor Details
Select Statement --> select max(applicationID)+1 from table;
I have a JDBC Sampler setup that I need to use the 'max(applicationID)+1' value (determined by the JDBC preprocessor)
JDBC Sampler Details
Select Statement --> select status from table where applicationID = 'max(applicationID)+1'
I am unsure how to do this. I have looked at the instructions and a lot of other Jmeter JDBC request posts, but I'm afraid I can't find the relevant info I need.
I did try including adding a 'Variable Name' of 'maxrecordidvar' in the JDBC PreProcessor and set the JDBC Sampler query --> select status from table where applicationID = maxrecordidvar
HOWEVER - this (obviously) didn't work - I get an Oracle error 'ORA-00904: "MAXRECORDIDVAR": invalid identifier'
Again, many apologies if this is a stupid question and many thanks for all/any help anyone can provide!
I have simulated a concept of this using MYSQL, but the test plan is similar.
First, the JDBC PreProcessor and JDBC Request do not just simply emit to a single variable, but rather expose a few variables based on your name. For example
Which means later on I have access to
This query only has one column and row, otherwise ${foo_2} would be first column row 2. More docs at JDBC Request
Second, to use with in my JDBC Request I had to use a Prepared Select Statement. Passing in ${foo_1} as the Parameter Value and INTEGER as the Parameter Type (I am using mysql).
I posted a simulated load test and JMX File.