Это потребует некоторой доработки, но я думаю, что это идея.По сути, это то, как я бы сделал это в powershell
function Evaluate-Priv {
param([int]$p)
return Get-Random -Minimum 0 -Maximum 2
}
[array]$privs = @()
for($i = 1;$i -le 5;$i++){
switch(Evaluate-Priv($i)) {
1 { $privs += "$i," }
default { continue }
}
}
[string]$SqlCmd = @"
SELECT * FROM t WHERE t.priv in ($privs)
"@
Write-Output $SqlCmd
Результаты нескольких запусков:
SELECT * FROM t WHERE t.priv in (2, 3, 4, 5,)
SELECT * FROM t WHERE t.priv in (2, 4, 5,)
SELECT * FROM t WHERE t.priv in (1, 4, 5,)