We have a scan function available, but it will not determine the data types of the variables. In the Oracle unit there is a published function like this:
function FindVariables(const SQL: string; IncludeDuplicates: Boolean): TStringList;
This function will scan de SQL parameter for variables and will return them in a TStringList. The IncludeDuplicates parameter determines if duplicate variables will be ignored or not.