我在SQL Server 2012中创建一个过程,其中创建的表名最终将月份和年份作为表名的一部分,例如Error:(20, 23) java: package com.sun.javafx.util is not visible (package com.sun.javafx.util is declared in module javafx.graphics, which does not export it to the unnamed module).
。
此过程将每月运行一次,只有表名的最后一部分会发生变化。
我尝试在这里使用参数,但它不起作用。请帮忙。
答案 0 :(得分:0)
在SQL Server中,如果查询是静态的,则表名应定义为static。如果您希望表名在这种情况下是动态的,则需要编写动态查询。
您可以使用sp_executesql
在您的情况下,您可以在SP中编写查询,如下所示。
DECLARE @Month VARCHAR(10) ='Dec'
DECLARE @Year INT = 2017
DECLARE @Query VARCHAR(MAX)
SET @Query = 'SELECT * FROM BA_Monthly_Report_' + @Month
+ '_' + CAST(@Year AS VARCHAR(4))
EXEC sp_executesql @Query