Sql Server中的自定义表名

时间:2014-08-03 02:30:26

标签: sql sql-server sql-server-2008

我有一张名为Table 1的表格。我正在尝试为Table 1创建一个插入后触发器;因此,每当用户输入记录时,触发器将创建一个新的表命名为触发其创建的记录。

请帮忙,我正在使用SQL Server 2008

1 个答案:

答案 0 :(得分:0)

这听起来超级非关系型数据库设计。几乎在每种情况下我都会反对这一点。我说"几乎"只是为了允许艺术的发展自由,我不能想到一个适合的单一案例。

也就是说,如果你确实想要这个,你可以使用动态SQL创建一个表。

您可以在触发器中构建SQL,但基本上您需要以下内容:

EXEC 'CREATE TABLE ' + @tableName + ' (ID INT IDENTITY(1,1))';

当然,列由你决定,但这应该让你开始。


但是在我们处理它的时候,应该(可能)正在做的是使用与您的触发器当前的表有一对多关系的单个表分配

例如,如果您的表格Users包含email列,并且您希望在网站上为每个用户的收藏创建一个表格,那么您应该而是考虑为用户ID添加标识列,然后在具有UserFavoritesUserId列的单个PostId表中引用该列,并实现相应的外键。 / p>