Эта версия делает то, что вы хотите:
with cte as (
select parobj as obj, convert(nvarchar(max), NULL) as path
from smth
where not exists (select 1 from smth smth2 where smth2.chilobj = smth.parobj)
union all
select smth.chilobj as obj, convert(nvarchar(max), coalesce(path + ' -> ', '')) + cte.obj
from cte join
smth
on cte.obj = smth.parobj
)
select obj, coalesce(path + ' -> ' + obj, 'Root')
from cte;
Здесь - db <> скрипка.
В энергии кроме добавления подсветки синтаксиса для показа неправильного синтаксиса ("если" пример не выделился бы, если правильно) можно добавить это к .vimrc:
autocmd FileType sh set makeprg=bash\ -n\ '%'
autocmd FileType sh let &efm = "%E%f:\ line\ %l:\ %m," . &efm
Теперь, когда Вы работаете :make
это проверит синтаксис и переход к ошибкам. Карта: сделайте к F5, и проверка синтаксиса является просто нажатием клавиши далеко.
Как большинство вопросов этого вида, Один Истинный Ответ является EMACS.
Однако TextMate, BBEdit и SubEthaEdit делают приятно также.
Red Hat разделяет об/мин VIM на минимальный энергией, улучшенный энергией и затем некоторых. Вам нужен улучшенный энергией об/мин, чтобы сделать подсветку синтаксиса. Поскольку CentOS является не чем иным как повторно упакованным RHEL, то же идет для CentOS. И если это должно быть для Windows: GVim легко доступен.
Вы видели подсветку синтаксиса отдельно как форму обнаружения ошибок. Если Вы совершите ошибку в круглой скобке, фигурных скобках или чем-то, то Вы будете видеть, что Вы повреждения подсветки синтаксиса, показывая Вам, что существует что-то не так и где она пошла не так, как надо.
Что касается завершения: большинство команд в Bash действительно коротко, но CTRL-N автоматически заполнит что-либо в файле, который Вы использовали прежде в том файле.