Я не делаю живо существует способ сделать это в одном запросе, но можно выделывать фокусы как это с временной переменной:
declare @s varchar(max)
set @s = ''
select @s = @s + City + ',' from Locations
select @s
Это - определенно меньше кода, чем обход по курсору, и вероятно более эффективный.
Переменные, объявленные в Variables.ps1
, находятся в «Области действия сценария». То есть вы не можете увидеть их за пределами объявляющего их скрипта. Один из способов перенести переменные из Variables.ps1
в область действия main. ps1
означает « источник точек » Variables.ps1
. По сути, это запускает Variables.ps1
в области действия main.ps1
. Для этого просто вставьте точку и пробел перед вызовом скрипта:
. .\Variables.ps1
$var1
$var2
# var.ps1
$Global:var1 = "1"
$Global:var2 = "2"
Это работает. Лучше или хуже, чем "точечный поиск", вероятно, зависит от ваших конкретных требований.
PS > .\var.ps1
PS > $var1
1
PS > $var2
2
PS >
] Просто для обеспечения правильности ... попробуйте это ... в main.ps1
echo "Test"
. .\Variables.ps1
echo $var1
echo $var2