Базовая техника при накоплении неких данных состоит в записи их во врменную таблицу с именем, начинающимся с #, или с именем с постфиксом NEWID, а затем извлечения накопленных данных. Базовая техника выглядит примерно вот так.

Есть и более изощренная техника, позволяющая избежать временных таблиц. Для этого сначала придется задействовать вот такую мою функцию десериализации - Split, которая преобразует строку в табличную функцию.

И вот, наконец, реальная процедура, работающая по такой технике:




Как видите, эта процедура накапливает данные (ключи отобранных записей) не в промежуточной табле, а в строке с именем @Result, откуда в последней строке и выводится выходной рекордсет. Обратите внимание, что даже джоины в курсорах выполнены этой же функцией.



Comments ( )
<00>  <01>  <02>  <03>  <04>  <05>  <06>  <07>  <08>  <09>  <10>  <11>  <12>  <13>  <14>  <15>  <16>  <17>  <18>  <19>  <20>  <21>  <22>  <23
Link to this page: //www.vb-net.com/sql/ser.htm
<SITEMAP>  <MVC>  <ASP>  <NET>  <DATA>  <KIOSK>  <FLEX>  <SQL>  <NOTES>  <LINUX>  <MONO>  <FREEWARE>  <DOCS>  <ENG>  <CHAT ME>  <ABOUT ME>  < THANKS ME>