我创建了一个存储过程,它创建一个临时表,插入,选择然后删除。在 SQL Server Management Studio 中执行存储的过程可以正常工作并给出预期的结果。
CREATE PROCEDURE usp_TempTableTest
-- Add the parameters for the stored procedure here
@color VARCHAR(10)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
CREATE TABLE #tmptable (
color VARCHAR(10)
)
INSERT INTO #tmptable (color) VALUES (@color)
SELECT color FROM #tmptable
DROP TABLE #tmptable
END
GO
但是,在导入/导出工具中创建并使用该存储过程作为数据源时,它给了我错误:
无效的对象名称“#tmptable”。
知道为什么会发生这种情况吗?如果我将它更改为表变量,它似乎可以很好地与导入/导出一起使用,但我不明白为什么它不能与临时表一起使用。