2013-11-28 3 views
-1

Я использую PHP PDO. Моя хранимая процедура возвращает два набора результатов. Можно ли назвать результирующие множества? В случае, если они ЗЕЬЕСТ на двух столах, как,получить таблицу имя resultset Mysql

SELECT * FROM A 

и

SELECT * FROM B 

Можно ли их идентифицировать?

+0

Разве вы не знаете, какой результат принадлежит той таблице? –

+2

'select 'fromA', * from' и 'select 'fromB', * from b'? –

ответ

1

Нет, вы не можете назвать результирующие наборы, хотя я не могу с готовностью подумать о какой-либо причине, почему вам нужно будет называть результирующие наборы ... поскольку количество и содержание наборов результатов, возвращаемых хранимыми процедурами является полностью произвольным - и, фактически, не обязательно должен быть из таблицы вообще (SELECT NOW() AS server_time;) приложение должно понимать - заранее - характер результатов, которые сервер вернет, и в каком порядке.

Они могут быть «идентифицированы» по их порядковому положению в ответах от сервера ... первый неограниченный SELECT, который выполняет, является тем, что генерирует то, что вы видите как первый набор результатов, второй для выполнения генерирует второй, и т. д. всегда.

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

Если ответ - «нет» - оставляет вам нерешенную проблему, рассмотрите вопрос о расширении вашего вопроса, чтобы объяснить, что мы пытаемся решить.

Смежные вопросы