Не могу обернуть голову вокруг этой ..
У меня есть две отдельные хранимые процедуры, давайте их назовем:
createTable (takes a varchar userID as input)
runReport (takes two dates for input, as varchar)
createTable создает виртуальную таблицу с именем ## tempTable (если он не существует и добавьте предоставленный идентификатор пользователя).Поэтому, если я запускаю
EXEC createTable 'user-32'
EXEC createTable 'user-33'
EXEC createTable 'user-34'
, тогда у меня есть эти идентификаторы в ## tempTable.
После этого я хочу запустить это:
EXEC runReport '2011-01-01', '2011-10-01'
Что должно дать мнебольшой вкусный выходной.Дело в том, что это работает безупречно, когда выполняется так:
mssql_query("EXEC createTable 'user-32'");
mssql_query("EXEC createTable 'user-33'");
mssql_query("EXEC createTable 'user-34'");
mssql_query("EXEC runReport '2011-01-01', '2011-10-01'");
Но когда я пытаюсь зациклить строки createTable, runReport-SP не возвращает никаких данных.
Пример:
$userIDs = explode(',', $userID_str);
foreach ($userIDs as $user) {
if (mb_strlen($user) > 0) {
mssql_query("EXEC createTable '$user'");
}
}
Мне интересно, может ли это быть как-то связано с разорванным соединением или чем-то другим?Кажется, что runReport-SP может найти #tempTable, но не может читать из него, когда я использую цикл.
Есть идеи?
Спасибо!:)