Use a RegExp to split your input (sInp) into key value parts and .Replace the those parts into a template (sTmpl) derived from your desired output (sExp):
Option Explicit
' 1 2 3 4 5 6
Dim sInp : sInp = "Y157019=1&Y013759=2&Y032231=5"
Dim sExp : sExp = "Update TABLEX SET Status='1' WHERE Ticket= 'Y157019'; Update TABLEX SET Status='2' WHERE Ticket= 'Y013759'; Update TABLEX SET Status='5' WHERE Ticket= 'Y032231';"
Dim sTmpl : sTmpl = Join(Array( _
"Update TABLEX SET Status='$2' WHERE Ticket= '$1'" _
, "Update TABLEX SET Status='$4' WHERE Ticket= '$3'" _
, "Update TABLEX SET Status='$6' WHERE Ticket= '$5';" _
), "; ")
Dim reRpl : Set reRpl = New RegExp
reRpl.Pattern = "^([^=]+)=(\d+)&([^=]+)=(\d+)&([^=]+)=(\d+)$"
Dim sAct : sAct = reRpl.Replace(sInp, sTmpl)
WScript.Echo sExp
WScript.Echo sAct
WScript.Echo CStr(sAct = sExp)
output:
cscript 31453580.vbs
Update TABLEX SET Status='1' WHERE Ticket= 'Y157019'; Update TABLEX SET Status='2' WHERE Ticket= 'Y013759'; Update TABLEX SET Status='5' WHERE Ticket= 'Y032231';
Update TABLEX SET Status='1' WHERE Ticket= 'Y157019'; Update TABLEX SET Status='2' WHERE Ticket= 'Y013759'; Update TABLEX SET Status='5' WHERE Ticket= 'Y032231';
True
Adapted to the changed specs:
Option Explicit
Dim aTests : aTests = Array( _
"Y157019=1&Y013759=2&Y032231=5" _
, "Y157019=1&Y013759=2" _
, "Y157019=1" _
, "" _
)
Dim reRpl : Set reRpl = New RegExp
reRpl.Global = True
reRpl.Pattern = "([^=]+)=(\d+)"
Dim sInp
For Each sInp In aTests
WScript.Echo "----", sInp
Dim oMts : Set oMts = reRpl.Execute(sInp)
Dim sAct
If 0 < oMts.Count Then
ReDim aTmp(oMTS.Count - 1)
Dim i
For i = 0 To UBound(aTmp)
aTmp(i) = reRpl.Replace(oMTS(i).Value, "Update TABLEX SET Status='$2' WHERE Ticket= '$1'")
Next
sAct = Join(aTmp, "; ") & ";"
Else
sAct = "no match"
End If
WScript.Echo sAct
Next
output:
cscript 31453580-2.vbs
---- Y157019=1&Y013759=2&Y032231=5
Update TABLEX SET Status='1' WHERE Ticket= 'Y157019'; Update TABLEX SET Status='2' WHERE Ticket= '&Y013759'; Update TABLEX SET Status='5' WHERE Ticket= '&Y032231';
---- Y157019=1&Y013759=2
Update TABLEX SET Status='1' WHERE Ticket= 'Y157019'; Update TABLEX SET Status='2' WHERE Ticket= '&Y013759';
---- Y157019=1
Update TABLEX SET Status='1' WHERE Ticket= 'Y157019';
----
no match
Y157019=1&Y013759=2&Y032231=5? That's not a script.Request.Form