在 SQL Server 中从动态表名中选择数据,可以使用动态 SQL 来实现。动态 SQL 允许您在运行时构建 SQL 语句并执行它们。
以下是一个示例,展示如何使用动态 SQL 从动态表名中选择数据:
DECLARE @tableName VARCHAR(50)
SET @tableName = 'myTableName'
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'SELECT * FROM ' + QUOTENAME(@tableName)
EXECUTE sp_executesql @sql
在上面的代码中,首先定义了一个变量 @tableName,它包含动态表名。然后使用 QUOTENAME 函数来为表名添加引号,以防止 SQL 注入攻击。接下来,使用动态 SQL 构建 SELECT 语句,并将其存储在变量 @sql 中。最后,使用 EXECUTE sp_executesql 语句执行动态 SQL。
请注意,在使用动态 SQL 时需要小心,因为它可能会导致 SQL 注入攻击。因此,您应该始终使用参数化查询,并使用 QUOTENAME 等函数来防止注入攻击。