#stored-procedures #sql-server-2012 #ssis-2012
#хранимые процедуры #sql-server-2012 #ssis-2012
Вопрос:
Рассматриваемая хранимая процедура должна вызываться через пакет SSIS. Это остановило меня от использования #TempTable
. По-видимому, они не могут быть использованы в ситуации с пакетом SSIS.
Поэтому я подумал, что вместо этого использую табличную переменную, но я не могу заставить ее скомпилироваться в SQL Server Management Studio.
DECLARE @TempTable TABLE
(
OrganisationId INT NOT NULL,
OrganisationName NVARCHAR(120) NULL,
SummaryText NVARCHAR(MAX) NULL,
Url VARCHAR(8000) NULL,
Address1 NVARCHAR(255) NULL,
Address2 NVARCHAR(255) NULL,
Address3 NVARCHAR(255) NULL,
City NVARCHAR(50) NULL,
County NVARCHAR(50) NULL,
Latitude REAL NULL,
Longitude REAL NULL,
Postcode VARCHAR(8) NULL,
LastUpdatedDate DATETIME NULL,
Geocode GEOGRAPHY NULL,
Contact VARCHAR(1000) NULL,
ContactMethodType INT NULL,
rn INT NULL,
);
INSERT INTO @TempTable
EXEC [dbo].[GetServiceOrganisations] @ResultsViewListServices;
INSERT INTO @TempTable
EXEC [dbo].[GetOrganisations] @ResultsViewListOthers;
Ошибка, которую я получаю в SQL Server Management Studio, является синтаксической ошибкой, вот она:
Что здесь не так?
Комментарии:
1. Какое сообщение об ошибке?
2. Добавлено @EdHarper
3. У вас есть конечная запятая после определения
rn
. Удалите это, и вы сможете добиться прогресса.4. Так глупо. Так глупо. Спасибо, это работает!
Ответ №1:
Хвала Эду Харперу за то, что он заметил запятую в конце.
Комментарии:
1. Я согласен, но в моем профиле вопрос будет отображаться как неотвеченный, знаете ли вы способ пометить такие вопросы как ответы, когда ответ содержится только в комментариях? @Ed если вы хотите, пожалуйста, оставьте свой комментарий в качестве ответа 🙂
Ответ №2:
SELECT * INTO #MyTempTable
FROM OPENROWSET('SQLNCLI',
'Server=(local)SQL2008;Trusted_Connection=yes;',
'EXEC stored proc name with params')
Добавить хранимую процедуру с параметрами