пользователям программных продуктов Scala 5.1, iScala 2.1, iScala 2.2, iScala 2.3, iScala 3.0, iScala 3.1, iScala 3.2 (и так далее)

Как с помощью T-SQL прочитать список файлов в выбранной папке и отфильтровать нужные?

Сегодня потратил, наверное, более получаса пытаясь найти в «закромах Родины» свой запрос, позволяющий прочитать список файлов в заданной папке средствами SQL сервера. Вот что значит неудачно назвать хранимую процедуру и неправильно или недостаточно подробно написать комментарий относительно того, что она делает. Исправляю и дополняю комментарий, может быть кому-нибудь пригодится 🙂

/*
Для выбора параметра из списка в отчёте сверки данных между Орфе и Скалой:
в качестве параметра выступает часть имени .xml файла, лежащего в определённой папке на сервере
Пример имени файла: RPT_SO_PICKING_CONFIRMATION_2014-07-30-110706.xml
Получаемый label параметра из имени файла: 2014-07-30-110706
Получаемый параметр: http://localhost/RPT_SO_PICKING_CONFIRMATION_2014-07-30-110706.xml
*/
CREATE procedure usr_RS_XMLfilesToShow
@FolderPath nvarchar(255)='C:\Inetpub\wwwroot',
@Like nvarchar(255)='RPT_SO_PICKING_CONFIRMATION_',
@URL nvarchar(255)='http://localhost/',
@Right int=17
as
create table #XMLfiles (
	[FileName] [nvarchar](255) NOT NULL,
	[dept] int NOT NULL,
	[file] int NOT NULL,

) ON [PRIMARY]

insert into #XMLfiles
exec xp_dirtree @FolderPath, 1, 1

select
@URL+[FileName],
replace(replace([FileName],'.xml',''),@Like,'') as [Label],
substring(replace(replace([FileName],'.xml',''),@Like,''),len(replace(replace([FileName],'.xml',''),@Like,''))-@Right+1,@Right) as OrderBy
from #XMLfiles where [file]=1
and [FileName] like '%'+@Like+'%'
order by OrderBy desc
drop table #XMLfiles