ao1973
Дата: 17.12.2002 17:16:09
Вот тебе ответы
разберись сам но помоему первый самый умный
__________________________________________________________
Итак, одна хранимая процедура возвращает результат выборки и надо этот результат использовать в другой хранимой процедуре.
CREATE proc p1
@c cursor varying output
as
declare tc cursor for select * from DAO_ActionTypes
set @c = tc
DEALLOCATE tc
open @c
(конец первой процедуры, возвращающей значение)
дальше :
declare @c1 cursor,
@i1 int,
@i2 int,
@s1 varchar(255)
exec p1 @c = @c1 output
fetch next from @c1 into @i1, @i2, @s1
While @@FETCH_STATUS = 0
begin
print 'ХЕ-ХЕ: ' + @s1
fetch next from @c1 into @i1, @i2, @s1
end
Т.е. смысл в том, чтобы из первой процы возвращать курсов в качестве параметра.
____________________________________________________________________
ну а если просто из SQL, то наверное только через временные таблицы
Дата: вчера, 03:40
Re: процедуры как таблицы
AVL
Member
Откуда: Пермь
Сообщений: 154
надо вставить данные, получнные из ХП во временную таблицу. Дальше работать уже с этим набором данных
Дата: вчера, 06:20
Re: процедуры как таблицы
snake
Member
Откуда: SQL.RU
Сообщений: 274
Предлагаю всем такие топики называть так:
"Я с Интербейса перешел на SQL server ..."
Дата: вчера, 09:56
Re: процедуры как таблицы
ao1973
Member
Сообщений: 9
надо вставить данные, получнные из ХП во временную таблицу.
КАК?
если уж можно объясните
"Я с Интербейса перешел на SQL server"
Я тут видел и более глупые вопросы ,
так что не надо издеватся
Все когда-нибудь начинали!
Дата: вчера, 15:31
Re: процедуры как таблицы
snake
Member
Откуда: SQL.RU
Сообщений: 274
create table #tmp (
spid int,
dbid int,
ObjId int,
indId int,
type char(10),
resorce char(20),
mode char(10),
status char(10)
)
insert #tmp exec sp_lock
select * from #tmp
drop table #tmp
Дата: вчера, 15:38
Re: процедуры как таблицы
funikovyuri
Member
Откуда: Саратов
Сообщений: 122
insert into <table name> exec proc_name
Но помните, что такая конструкция не может быть вложенной, поэтому
Вместо процедур возвращающих recordset'ы используйту UDF ( User Defined Functions )
Дата: вчера, 15:39
Re: процедуры как таблицы
Белов Владимир
Member
Откуда: Москва
Сообщений: 341
insert into ... exec sp_lock
как раз такая фигня пройдет, т.к. если посмотреть текст sp_lock, то мы не увидим там не одного insert.
Короче избегай вложенных insert
Дата: вчера, 15:42
Re: процедуры как таблицы
ao1973
Member
Сообщений: 9
Спасибо!
Буду капать в этом направлении
Дата: вчера, 15:43
Re: процедуры как таблицы
snake
Member
Откуда: SQL.RU
Сообщений: 274
То ao1973
создайте на основе текста sp_lock UDF...
Дата: вчера, 15:48
Re: процедуры как таблицы
AAron
Member
Откуда: Moscow
Сообщений: 146
в дополнение, если процедура возращает несколько рекордсетов, тоже могут быть проблемы.
Дата: вчера, 15:48
Re: процедуры как таблицы
funikovyuri
Member
Откуда: Саратов
Сообщений: 122
2snake: шутка, наверное, такая ? :)
Дата: вчера, 15:50
Re: процедуры как таблицы
snake
Member
Откуда: SQL.RU
Сообщений: 274
вовсе нет, funikov yuri...
Дата: вчера, 15:51
Re: процедуры как таблицы
funikovyuri
Member
Откуда: Саратов
Сообщений: 122
2snake: а потом наверное и все остальные системные процедуры ?
Дата: вчера, 15:52
Re: процедуры как таблицы
snake
Member
Откуда: SQL.RU
Сообщений: 274
если требует задача - да!
Дата: вчера, 15:53
Re: процедуры как таблицы
funikovyuri
Member
Откуда: Саратов
Сообщений: 122
2snake: есть недостатки
- непереносимость, даже в пределах одной версии - от ServicePack к ServicePack
- функции имеют больше ограничений - т.е. не всякая процедура может стать функцией
Дата: вчера, 15:56
Re: процедуры как таблицы
snake
Member
Откуда: SQL.RU
Сообщений: 274
согласен...
Дата: вчера, 16:01
Re: процедуры как таблицы
TurPOKPbIC
Member
Сообщений: 1
Еще копни в сторону OPENROWSET.
Дата: вчера, 17:49
Re: процедуры как таблицы
ao1973
Member
Сообщений: 9
Все немного в сторону свернули
Суть не в системных процедурах,
предположим у меня есть процедура [прибыль],
которая делает что-то полезное ,положим считает товарооборот ,затем я пишу
процедуру [фин_баланс],которая испульзует
данные [прибыль]-и .
Суть в том как мне из [фин_баланс]-а вызывать рекордсет
[прибыль]-и.
Дата: вчера, 18:35
Re: процедуры как таблицы
Fedot
Member
Откуда: Kiev
Сообщений: 18
А может SELECT (...) FROM OPENQUERY(ServerName, 'BLA_BLA') поможет?