powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как получить данные из системной процедуры?
17 сообщений из 17, страница 1 из 1
Как получить данные из системной процедуры?
    #32035686
apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например sp_help_job возвращает result set - таблицу job-ов- как ее можно использовать в процедуре- ни в какую временную таблицу она не вставляется.
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035696
Sanek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/9669
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035728
apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал - рецепты на этой ссылке не помогают-сообщение "EXECUTE cannot be used as a source when inserting into a table variable" выскакивает
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035731
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В табличную переменную и не удастся вставить, только во временную таблицу.
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035736
apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во временную таблицу тоже не вставляет- говорит "Invalid object name ..."
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035739
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала создаете временную таблицу, совпадающую по структуре с выходным набором данных у sp_help_job, а потом делаете

insert into #t1
exec sp_help_job
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035754
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у Вас нечто вроде этого:
Код: plaintext
1.
2.
Server: Msg  208 , Level  16 , State  1 , Line  1 
Invalid object name '#tmp'.

то значит, что временная таблица просто не видна
в текущем соединении. Создайте ее в этом же соединении...
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035768
apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если временная таблица создана в этом же сеансе- сообщает "An INSERT EXEC statement cannot be nested"
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035772
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Apple

Покажите лучше ваш скрипт
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035782
apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедура примерно такова:

ALTER PROCEDURE CONTROLJOB AS

CREATE TABLE #TTT
(
job_id VARCHAR(50),
originating_server VARCHAR(50),
[name] VARCHAR(50),
[enabled] int,
[description] VARCHAR(50),
start_step_id int,
[category] VARCHAR(50),
[owner] VARCHAR(50),
notify_level_eventlog int,
notify_level_email int,
notify_level_netsend int,
notify_level_page int,
notify_email_operator VARCHAR(50),
notify_netsend_operator VARCHAR(50),
notify_page_operator VARCHAR(50),
delete_level int,
date_created datetime,
date_modified datetime,
version_number int,
last_run_date VARCHAR(50),
last_run_time VARCHAR(50),
last_run_outcome int,
next_run_date VARCHAR(50),
next_run_time VARCHAR(50),
next_run_schedule_id int,
current_execution_status int,
current_execution_step VARCHAR(50),
current_retry_attempt int,
has_step int,
has_schedule int,
has_target int,
type int
)
insert #TTT exec msdb..sp_help_job
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035784
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
An INSERT EXEC statement cannot be nested

Это говорит о том, что Ваша процедура (результаты которой Вы хотите сохранить во временной таблице) содержит внутри себя фрагмент вида: INSERT … EXEC … в другую таблицу, что недопустимо в SQL Server.

Удачи
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035785
apple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To jimmers:
Это понятно- но где эту таблицу искать для дальнейшего использования???
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035826
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Вашего случая трудно порекомендовать что-либо отличное от опроса системных таблиц. Посмотрите на код процедуры sp_help_job и модифицируйте его…

Удачи
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32035827
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модифицировать - в смысле создать новую процедуру на базе sp_help_job, конечно...
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32036409
LEX_LEE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понял вопрос :)

Select * into #oooo
from
openrowset('SQLOLEDB','сервер';'логин';'пароль','execute ваша_процедура')

Select * from #oooo
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32036616
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2LEX_LEE:

Простите, но Вы сами пробовали запускать Вашу конструкцию с OpenRowSet ?

Там проблема FMTONLY...

Удачи
...
Рейтинг: 0 / 0
Как получить данные из системной процедуры?
    #32036622
LEX_LEE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 jimmers
угу, признаю свою ошибку :)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как получить данные из системной процедуры?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]