私が通常これを行う方法は、組み込みの XML 関数を使用することです (SQL Server 2005 以降を使用している場合)。
この MSDN ページをチェックしてください: http://msdn.microsoft.com/en-us/library/ms178030
特定のレジストリキーのサブノードの数を返す例を次に示しますSOFTWARE\Microsoft\Windows\BlaBla
...
DECLARE @x xml
SET @x='<DynamicResults>
<RegQuery xmlns:xsi="http://www.w3.o....." xmlns:xsd="http://....." REGServer="localhost" REGHive="HKEY_LOCAL_MACHINE" REGSubKey="SOFTWARE\Microsoft\Windows\BlaBla">
<SubNode />
<SubNode />
</RegQuery>
<RegQuery xmlns:xsi="http://www.w3.o....." xmlns:xsd="http://....." REGServer="localhost" REGHive="HKEY_LOCAL_MACHINE" REGSubKey="SOFTWARE\Microsoft\Windows\BlaBla2" />
<RegQuery xmlns:xsi="http://www.w3.o....." xmlns:xsd="http://....." REGServer="localhost" REGHive="HKEY_LOCAL_MACHINE" REGSubKey="SOFTWARE\Microsoft\Windows\BlaBla3" />
</DynamicResults>'
SELECT @x.value('count(/DynamicResults/RegQuery[@REGSubKey="SOFTWARE\Microsoft\Windows\BlaBla"]/*)','INT')
GO