存储过程-SQL中的自动生成的ID

时间:2014-12-22 17:16:00

标签: sql sql-server vb.net visual-studio

我在SQL Server中有这个存储过程,我在visual net中使用它来为某些表生成值。

CREATE PROCEDURE grabardatos
@codigocliente  int,
@nombre  varchar(50),
@apellido varchar(50),
@sexo char(1),
@direcion varchar(50),
@telefono varchar(50),
@tipo varchar(50)

AS

BEGIN

INSERT INTO CLIENTES(Numero,Nombre,Apellido,Sexo,Direcion,Telefono,Tipo)

VALUES ( @codigocliente,@nombre,@apellido,@sexo,@direcion,@telefono,@tipo)

END

参数@codigocliente是表的id,根据此代码,必须在visual net中手动输入。如何在存储过程的sql代码中自动生成id,而不是在visual net中手动输入?

1 个答案:

答案 0 :(得分:1)

如果 clientes 表具有标识密钥,则它将由SQL自动生成,作为INSERT的一部分。然后,您可以使用@@identity来检索它的值。

将密钥添加到表中,您需要创建一个列

ALTER TABLE Add IdKey INT IDENTITY(1,1)

请注意,在INSERT期间,您无法为此列提供值...