gpt4 book ai didi

sql-server - 如何将表名作为存储过程的输入参数?

转载 作者:行者123 更新时间:2023-12-02 09:57:48 37 4
gpt4 key购买 nike

我下面有一个小的存储过程。

我将表名作为存储过程的输入参数,以便我计划将数据插入到临时表中并显示相同的数据。这只是我的项目存储过程的一个很小的代码块。

当我编译下面的代码时,它将 select 语句中的参数视为表变量并抛出错误:

Must declare the table variable "@TableName".

SQL:

CREATE PROCEDURE xyz @TableName Varchar(50) 
AS
BEGIN
SELECT TOP 10 * INTO #Temp_Table_One
FROM @TableName

SELECT * FROM #Temp_Table_One
END

最佳答案

CREATE PROCEDURE xyz 
@TableName NVARCHAR(128)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Sql NVARCHAR(MAX);

SET @Sql = N'SELECT TOP 10 * INTO #Temp_Table_One
FROM ' + QUOTENAME(@TableName)
+ N' SELECT * FROM #Temp_Table_One '

EXECUTE sp_executesql @Sql

END

关于sql-server - 如何将表名作为存储过程的输入参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22105121/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com