|
The program supports dynamic statements as well as static statements. Their final state
will be defined at the moment of execution. To make it possible, special tags (like ?1, ?2, etc.) are
inserted into the text of a statement. Those tags will be replaced with the values from the
file. They are always replaced, even inside string constants.
The file with values is a text file.
Each line in it corresponds to one statement (single thread execution), while values are separated by the separator character
specified in the task properties. By default, columns should be splitted by <tab>
sign but professional version users can use custom columns separator. If there are more values in the file than in a statement,
extra values are ignored. If there are more tags than values, tags with bigger numbers will not
be replaced with any values.
There are three ways to share values file between task's threads. They are:
- Independently. In this case each thread uses rows line by line.
- Sequentially. A thread uses next row after last used by same or another task's thread.
- Fixed. Each thread uses unique line, the first thread uses first line, the second uses second, etc.
Examples:
| SQL statement template | Values file content | Actual statements |
| select * from ?1 | table1 table2 table3 | select * from table1 select * from table2 select * from table3
select * from table1 etc. |
| select ?1 from ?2 order by ?1 | field1<tab>table1 field2<tab>table2 | select field1 from table1 order by field1
select field2 from table2 order by field2 select field1 from table1 order by field1 etc. |
| ?1 | select * from table1 insert into table2 values(getdate()) sp_helptext 'dbo.tr12_t' |
select * from table1 insert into table2 values(getdate()) sp_helptext 'dbo.tr12_t'
select * from table1 insert into table2 values(getdate()) sp_helptext 'dbo.tr12_t' etc. |
|