Sql 如何在存储过程的虚拟表中声明自动递增变量

Sql 如何在存储过程的虚拟表中声明自动递增变量,sql,auto-increment,Sql,Auto Increment,我有一个这样的存储过程 create procedure onedata as begin declare @input_data table (Id int NOT NULL AUTO_INCREMENT, name varchar(500) . .... ) insert into @input_data ..... .... end 但我无法将Id声明为自动递增。显示出一些错误。请建议一些解决方案 提前感谢这取决于您使用的SQL的种类 对于SQL Server declare

我有一个这样的存储过程

create procedure onedata

as

begin

declare @input_data table (Id int NOT NULL AUTO_INCREMENT, name varchar(500) . .... )

insert into @input_data .....
....

end
但我无法将Id声明为自动递增。显示出一些错误。
请建议一些解决方案


提前感谢

这取决于您使用的SQL的种类

对于SQL Server

 declare @input_data table (Id int NOT NULL identity(1,1), name varchar(50))

根据您的语法,我猜您正在使用SQL Server。如果是,请使用
identity
而不是
auto_increment

declare @input_data table (Id int primary key identity, ... )

请仔细阅读所有写在这里的评论…我想它会对你有帮助