Выполнение хранимой процедуры для вставки записей в таблицу - SQL Server 2000 - PullRequest
1 голос
/ 02 февраля 2010

Я работаю в SQL Server 2000. Следующий запрос не работает

declare @TempAccountKey Table (AccKey int,SitName varchar(1000),SitKey int) 
insert into @TempAccountKey(AccKey,AccName) 
exec [usp_Get_AccountForUser] @UserName 

выкидывает ошибку

EXECUTE не может использоваться в качестве источника при вставке в табличную переменную.

Есть идеи?

# 1


Связанный сервер настроен правильно. Если я выполню следующий запрос

exec [ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser]

отображается ошибка «Не удалось найти хранимую процедуру».

Есть идеи?

NLV

1 Ответ

3 голосов
/ 02 февраля 2010

Использовать временную таблицу вместо

CREATE TABLE #TempSiteKey (AccKey int,SitName varchar(1000),SitKey int) 

insert into #TempSiteKey (AccKey,AccName) 
exec [usp_Get_AccountForUser] @UserName 

DROP TABLE #TempSiteKey

И причина, по которой вы не можете вызвать процедуру, заключается в том, что вы неправильно ее разграничили

exec [ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser]

На самом деле означает выполнить процедуру под названием 'ABC-SQL-PROD.DBabc.dbo.usp_Get_ABCForUser'.

То, что вы хотите:

exec [ABC-SQL-PROD].[DBabc].[dbo].[usp_Get_ABCForUser]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...