CREATE TABLE [dbo].[it] (
[itID] [int] IDENTITY (1, 1) NOT NULL ,
[itname] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[itdep] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[itlianxi] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[itwenti] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL 
) ON [PRIMARY]
GOCREATE PROCEDURE updateit
 @itID int(4),
 @itname varchar(10),
 @itdep varchar(20)
 @itlianxi varchar(20),
 @itwenti varchar(50)
AS 
UPDATE it
SET
    itID = @itID,
     itname = @itname,
     itdep = @itdep,
     itlianxi = @itlianxi,
     itwenti = @itwenti
WHERE 
    itID= @itID
GO

解决方案 »

  1.   

    CREATE PROCEDURE updateit
     @itID int(4),
     @itname varchar(10),
     @itdep varchar(20)
     @itlianxi varchar(20),
     @itwenti varchar(50)
    AS 
    UPDATE it
    SET
         -- itID = @itID, --这里错了,不能够更新itID,因为他是自增列
         itname = @itname,
         itdep = @itdep,
         itlianxi = @itlianxi,
         itwenti = @itwenti
    WHERE 
        itID= @itID
    GO
      

  2.   

    1、@itID int(4)
       不能对数据类型 int 指定列宽度。
    2、@itdep varchar(20)
       后面少个,号
    3、[itID] [int] IDENTITY (1, 1) NOT NULL ????
    这是自动增长,不能手动更改值
      

  3.   

    3、[itID] [int] IDENTITY (1, 1) NOT NULL ????
    这是自动增长,不能手动更改值对啊,这是自动增长