Sql 如何在创建表时使用变量作为标识列的种子

Sql 如何在创建表时使用变量作为标识列的种子,sql,sql-server,identity-column,Sql,Sql Server,Identity Column,我想基于某个变量将集合作为表的标识列的种子 例如,像那样的事 DECLARE @seed INT SELECT @seed = MAX(id) FROM tblSomeTable 现在,使用@seed,我想为我的新表添加种子 例如,像这样的事情: DECLARE @tempTable TABLE ( ID INT IDENTITY(@seed,1) PRIMARY KEY, DESC NVARCHAR(50) ) 这实际上会抛出一个错误,说明语法不正确。有什么方法可以实现这一点吗?

我想基于某个变量将集合作为表的标识列的种子

例如,像那样的事

DECLARE @seed INT
SELECT @seed = MAX(id) 
  FROM tblSomeTable
现在,使用@seed,我想为我的新表添加种子

例如,像这样的事情:

DECLARE @tempTable TABLE (
  ID INT IDENTITY(@seed,1) PRIMARY KEY, DESC NVARCHAR(50)
)

这实际上会抛出一个错误,说明语法不正确。有什么方法可以实现这一点吗?

使用完全动态SQL,并将种子值嵌入包含
CREATE TABLE
语句(或
DECLARE…TABLE
语句)的字符串中。大多数DDL语句中不允许变量