Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000 / 13 сообщений из 13, страница 1 из 1
20.12.2001, 05:41
    #32019376
XDefender
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
Покажите, пожалуйста,как можно передать таблицу в хранимую процедуру, как параметр ???!!

Как я понимаю, это достигается благодаря переменных типа TABLE...

в общем нужен пример (сам я не дотепал вчера вечеом... а работка стоит)
(
...
Рейтинг: 0 / 0
20.12.2001, 06:40
    #32019379
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
увы, это никак не достигается
...
Рейтинг: 0 / 0
20.12.2001, 07:03
    #32019380
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
Как альтернатива - временная локальная/глобальная таблица, которая должна существовать на момент вызова процедуры.
...
Рейтинг: 0 / 0
20.12.2001, 07:08
    #32019381
XDefender
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
....... объясняю....
В тригере я таблицу Inserted копирую в другую, временную (только один параметр)
declare @table table (ID int)

Вот эту-то таблицу и нужно передать в хранимую!!!!
...
Рейтинг: 0 / 0
20.12.2001, 07:10
    #32019382
XDefender
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
ОБРАТИТЕ ВНИМАНИЕ, ЧТО ЭТО MS SQL 2000, а не 7.0

Я где-то видел такую фичу...
...
Рейтинг: 0 / 0
20.12.2001, 07:59
    #32019390
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
найдёте где видели - мне покажите
оч хочется посмотреть(хотя знаю что чудес не бывает)
...
Рейтинг: 0 / 0
20.12.2001, 09:30
    #32019403
MadDog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
2 X-Defender:
<Я где-то видел такую фичу...>
Может это был ВОЗВРАТ таблицы ИЗ функции?
...
Рейтинг: 0 / 0
20.12.2001, 11:58
    #32019428
Чумак А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
Можно вернуть/передать курсор из/в хп в качестве параметра. Почитай в Books Online.
...
Рейтинг: 0 / 0
20.12.2001, 12:22
    #32019431
Чумак А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
--BOL Example
Use an OUTPUT cursor parameter
OUTPUT cursor parameters are used to pass a cursor that is local to a stored procedure back to the calling batch, stored procedure, or trigger.

First, create the procedure that declares and then opens a cursor on the titles table:

USE pubs

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'titles_cursor' and type = 'P')

DROP PROCEDURE titles_cursor

GO

CREATE PROCEDURE titles_cursor @titles_cursor CURSOR VARYING OUTPUT

AS

SET @titles_cursor = CURSOR

FORWARD_ONLY STATIC FOR

SELECT *

FROM titles



OPEN @titles_cursor

GO



Next, execute a batch that declares a local cursor variable, executes the procedure to assign the cursor to the local variable, and then fetches the rows from the cursor.

USE pubs

GO

DECLARE @MyCursor CURSOR

EXEC titles_cursor @titles_cursor = @MyCursor OUTPUT

WHILE (@@FETCH_STATUS = 0)

BEGIN

FETCH NEXT FROM @MyCursor

END

CLOSE @MyCursor

DEALLOCATE @MyCursor

GO
...
Рейтинг: 0 / 0
20.12.2001, 12:51
    #32019434
Александр Степанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
>Можно вернуть/передать курсор из/в хп в качестве параметра. Почитай в Books Online

Так там прямо и говорится, что "ИЗ" можно, а "В" - нельзя:

However, the cursor data type can be used only on OUTPUT parameters. When you specify a data type of cursor, the VARYING and OUTPUT keywords must also be specified.
...
Рейтинг: 0 / 0
20.12.2001, 13:00
    #32019437
MadDog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
2 Чумак:
а Ваш пример будет работать с таблицей inserted?
...
Рейтинг: 0 / 0
20.12.2001, 13:36
    #32019448
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
select * into #tmp from inserted
exec SomeProc

В унутрях SomeProc прекрасно используем таблицу #tmp
...
Рейтинг: 0 / 0
20.12.2001, 17:57
    #32019481
Чумак А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000
2 Александр Степанов
Правда "В" нельзя. Погорячился.
2 MadDog
По поводу inserted - не знаю. Думаю и пробовать не стоить (потенциально глючный вариант).
Лучше скопировать inserted в "свою" времянку и на ней строить курсор или обрабатывать в хп как советует Глеб Уфимцев.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Покажите, как можно передать таблицу в хранимую процедуру, как параметр -SQL2000 / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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