I've got some soapUI tests, that use groovy scripts to first insert some data into a table
Previously, I've been using the following snippet of code to do this :
def conn = context.dbConnEtopup
conn.execute( "INSERT INTO A(ID, NAME) VALUES (1, "Johnny")" )
This works fine, however I have many test scripts that now do a similar (if not the same) SQL statements, so I'm trying to approach this by loading it in from a properties file, so my actual SQL statement is only in one place, for easier editing
However, my SQL statement that I'm trying to use is actually 2 inserts(or deletes), so the property being loaded in is :
DELETE * FROM TABLE_A; DELETE * FROM TABLE_B;
conn.execute()
can't handle the ;
, which means I could only use the first DELETE
statement
How can I get around this? I don't want to have to load each property separately and execute them. Ideally I just want one property, so I can add further delete statements in the future
Sometimes that's not good enough. Check out my solution: Running multiple SQL statements from Groovy
Couldn't you just store them in the properties file with the semicolons, then remove them after reading them, e.g.
Some JDBC drivers support multiple statements and this functionality will then be available via Groovy's Sql class, e.g. with MySql: