答案 0 :(得分:0)
所以你要执行:
select * from File_20170703 -- where your table name is a variable.
无法对表名或列名使用变量,您需要做的是构建动态sql并使用sp_executesql执行它。
这是一个例子:
DECLARE @sql nvarchar(4000)
SELECT @sql = 'SELECT * FROM File_20170703'
EXEC sp_executesql @sql
答案 1 :(得分:0)
一个简单的TSQL"动态sql"看起来像这样:
DECLARE @file_name AS VARCHAR(100)
DECLARE @query AS VARCHAR(MAX)
SET @file_name = 'file_20170101'
SET @query = 'SELECT * FROM ' + @file_name
execute(@query)
基本上你需要通过将查询的各个部分连接在一起来创建一个有效的sql查询,然后你可以执行整个大字符串作为你的查询。
答案 2 :(得分:-2)
您可以将SQL Cursor与while循环一起使用。这里给出了一些例子: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/while-transact-sql