标识列

时间:2012-05-19 14:49:28

标签: asp.net sql stored-procedures

存储过程

CREATE PROCEDURE [dbo].[Insert_Customer]
@id int,
@FName  varchar(50) ,
@MName  varchar(50) ,
@LName  varchar(50) ,
@Age    int ,
@Citizen varchar(50),
@Gender varchar(50) ,
@DOB    varchar(50) ,
@Status varchar(50) ,
@Nationality    varchar(50) ,

@Country    varchar(50) ,
@State  varchar(50) ,
@City   varchar(50) ,
@Address    varchar(MAX)    ,
@Pin    varchar(50) ,
@AccNo int IDENTITY (100,1),
@Branch varchar(50) ,

@IDProof    varchar(50) ,
@IDNo   varchar(50) ,
@IDName varchar(50) ,
@DOI    varchar(50) ,
@Date datetime
AS
BEGIN

Insert into tbl_Customer1   
values(@id,@FName,@MName,@LName,@Age,@Citizen,@Gender,@DOB,@Status,@Nationality)

Insert into tbl_Customer2 
values(@id,@Country,@State,@City,@Address,@Pin,@accno ,@Branch)

Insert into tbl_Customer3 
values(@id,@IDProof,@IDNo,@IDName,@DOI,@Date)

END

这里的错误是

  

Msg 156,Level 15,State 1,Procedure Insert_Customer,Line 28
  关键字' IDENTITY'附近的语法不正确   Msg 137,Level 15,State 2,Procedure Insert_Customer,Line 42
  必须声明标量变量" @ accno"。
  Msg 137,Level 15,State 2,Procedure Insert_Customer,Line 44
  必须声明标量变量" @ IDProof"。

2 个答案:

答案 0 :(得分:1)

您不能声明INT IDENTITY变量/参数。如果特定列定义为IDENTITY列,则不必添加它的值insert语句。如果未指定列值,则会自动设置标识号。

答案 1 :(得分:0)

@AccNo int IDENTITY (100,1),

您无法将参数设置为标识。 你为什么一开始就需要它?

这应该只在你的桌子上。

您能解释为什么需要它,以便我们为您提供帮助吗?