Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 exec и join  [new]
ex
Member

Откуда:
Сообщений: 271
вопросик есть можно ли использовать в качестве приджоинивания ехес хранимой процедуры и как это правильно сделать?

+ ' INNER JOIN (EXEC dbo.ХрПроца ' + CAST(@Param1 as nvarchar(20))+ ', ' + CAST(@Param2 as nvarchar(20))+ ')  a ' +
5 мар 05, 11:29    [1366311]     Ответить | Цитировать Сообщить модератору
 Re: exec и join  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Нельзя. Варианты:

1) Переписать процедуру на функцию
2) Сохранить результаты выполнения в таблицу
5 мар 05, 11:48    [1366394]     Ответить | Цитировать Сообщить модератору
 Re: exec и join  [new]
ex
Member

Откуда:
Сообщений: 271
jimmers
Нельзя. Варианты:

1) Переписать процедуру на функцию
2) Сохранить результаты выполнения в таблицу


1)- хотел функцию, но функция не поддерживает временные таблицы
2)- плахой вариант, теряется смысл процедуры
5 мар 05, 12:05    [1366461]     Ответить | Цитировать Сообщить модератору
 Re: exec и join  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
автор
2)- плахой вариант, теряется смысл процедуры

С процедурным программированием, как таковым, на TSQL будут проблемы, если результатом работы хп явлется набор данных. Особенно когда нарыетесь на An INSERT EXEC statement cannot be nested , поймете. Можно до поры до времени писать писать функции, но это именно до поры до времени.
5 мар 05, 12:25    [1366547]     Ответить | Цитировать Сообщить модератору
 Re: exec и join  [new]
andy st
Member

Откуда:
Сообщений: 802
ex
вопросик есть можно ли использовать в качестве приджоинивания ехес хранимой процедуры и как это правильно сделать?
+ ' INNER JOIN (EXEC dbo.ХрПроца ' + CAST(@Param1 as nvarchar(20))+ ', ' + CAST(@Param2 as nvarchar(20))+ ')  a ' +

SELECT * FROM dbo.sysobjects a  join OPENROWSET('SQLOLEDB',
'SERVER=(local);trusted_connection=yes;DATABASE=Northwind',
'exec sp_lock') b on a.id = b.objid
5 мар 05, 12:28    [1366563]     Ответить | Цитировать Сообщить модератору
 Re: exec и join  [new]
andy st
Member

Откуда:
Сообщений: 802
не ищите смысл - главное идея.
5 мар 05, 12:31    [1366582]     Ответить | Цитировать Сообщить модератору
 Re: exec и join  [new]
sraider
Member

Откуда:
Сообщений: 325
ex
хотел функцию, но функция не поддерживает временные таблицы


конструкция
declare @TempTable table (x int, y float)
внутри функции не подходит?
5 мар 05, 12:56    [1366725]     Ответить | Цитировать Сообщить модератору
 Re: exec и join  [new]
ex
Member

Откуда:
Сообщений: 271
sraider
ex
хотел функцию, но функция не поддерживает временные таблицы


конструкция
declare @TempTable table (x int, y float)
внутри функции не подходит?


неа.. так как запрос формируется динмачески..
SET @SQLSTR = 'INSERT INTO #tmp (p1, p2, p3) ' +
' SELECT p1, p2, p3 FROM ' + @Server + '.' + @DB + '.dbo. ' + @table
' WHERE ' + @STRWHERE
EXEC sp_executesql @SQLSTR
5 мар 05, 13:56    [1366986]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить