我在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中手动输入?
答案 0 :(得分:1)
如果 clientes 表具有标识密钥,则它将由SQL自动生成,作为INSERT的一部分。然后,您可以使用@@identity
来检索它的值。
将密钥添加到表中,您需要创建一个列
ALTER TABLE Add IdKey INT IDENTITY(1,1)
请注意,在INSERT期间,您无法为此列提供值...