【发布时间】:2013-05-02 12:00:37
【问题描述】:
是否可以在 SQL 中动态创建表。在我的 Web 应用程序中,我需要将今年(即 2013 年)的数据存储在名为 "INFO_2013" 的表中。当系统日期更改为 2014 年时,必须创建一个新表为“INFO_2014”,并且必须在该表中添加值。
注意:表也必须在同一个数据库中。
【问题讨论】:
标签: asp.net sql sql-server sql-server-2008 dynamic-tables
是否可以在 SQL 中动态创建表。在我的 Web 应用程序中,我需要将今年(即 2013 年)的数据存储在名为 "INFO_2013" 的表中。当系统日期更改为 2014 年时,必须创建一个新表为“INFO_2014”,并且必须在该表中添加值。
注意:表也必须在同一个数据库中。
【问题讨论】:
标签: asp.net sql sql-server sql-server-2008 dynamic-tables
我会避免使用这种方法。
为什么不创建一个带有YEAR 列的表,它可以识别它来自哪一年?
此外,如果您担心桌子变大,您可能想看看Creating Partitioned Tables and Indexes
也可以看看这些
【讨论】:
试试这个:
DECLARE @sql NVARCHAR(2000)
DECLARE @table NVARCHAR(100)
SET @table = 'INFO_2013'
SET @sql = N'CREATE TABLE '+@table+'
(
RollNumber INT
,Name VARCHAR(50)
)'
EXECUTE SP_EXECUTESQL @sql
【讨论】: