将存储过程结果传递给 table 变量
Pass stored procedure result into a table variable
有问题的存储过程将通过 SSIS 包调用。这阻止了我使用 #TempTable
。显然那些不能用于 SSIS 包的情况。
所以我想我应该使用 table 变量,但我无法在 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 中得到的错误是一个语法错误,这里是:
这里有什么问题?
感谢 Ed Harper 发现尾随的逗号。
SELECT * INTO #MyTempTable
FROM OPENROWSET('SQLNCLI',
'Server=(local)\SQL2008;Trusted_Connection=yes;',
'EXEC stored proc name with params')
添加带参数的存储过程
有问题的存储过程将通过 SSIS 包调用。这阻止了我使用 #TempTable
。显然那些不能用于 SSIS 包的情况。
所以我想我应该使用 table 变量,但我无法在 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 中得到的错误是一个语法错误,这里是:
这里有什么问题?
感谢 Ed Harper 发现尾随的逗号。
SELECT * INTO #MyTempTable
FROM OPENROWSET('SQLNCLI',
'Server=(local)\SQL2008;Trusted_Connection=yes;',
'EXEC stored proc name with params')
添加带参数的存储过程