Ralph,

Hello. An easy way to do this is to use ReplaceText to set the content of the 
FlowFile.
You can set the Replacement Strategy to "Always Replace" and set the 
Replacement Value
to something like: INSERT INTO MY_TABLE (ID) VALUES ('${id}')

You could also use SQL parameters (though it's slightly more involved), and use 
ReplaceText, setting the Replacement
Value to: INSERT INTO MY_TABLE (ID) VALUES (?)

This would then require you to use UpdateAttribute to create the necessary 
parameters. You would
need to add the following attributes:

sql.args.1.value    => This is the value to insert, so ${id}
sql.args.1.type      => This will be the JDBC Type, which for a VARCHAR is 12.

So you would add two user-defined properties with UpdateAttribute:

Property Name         Property Value
--------------------         ----------------------
sql.args.1.value        ${id}
sql.args.1.type          12

Does this all make sense?

Thanks
-Mark


> On Jan 13, 2016, at 3:16 PM, Perko, Ralph J <[email protected]> wrote:
> 
> Hi 
> 
> I want to use the PutSQL processor to execute an insert statement. The use 
> case is straightforward.  I need to pull an id attribute from a JSON message 
> and write it to a database.  I am using EvaluateJSONPath to grab the id but 
> I’m hung up on how to then pass the SQL statement as the content.  I could 
> put the SQL statement in a file to be loaded as content but I am wondering if 
> there is a way to do this inline with the flow? Ideally I would have the 
> content of the FlowFile be the SQL and pass in the id as a SQL parameter as 
> mentioned in the documentation.  
> 
> Thanks for your help,
> Ralph
> 

Reply via email to