-1

2つのテーブルがあります.UniversityRegとLogin.大学がシステムに登録されると、一般的な詳細がUniversityRegテーブルに移動し、ログインの詳細がログインテーブルに移動します.スコープIDを使用すると、最後のIDが取得されます.しかし、上記のエラーが表示されます.

大学登録表

[UniversityId] [int] IDENTITY(1,1) NOT NULL,
[Username] [varchar](50) NULL,
[Password] [varchar](50) NULL,
[UniversityName] [varchar](50) NULL,
[GovernmentRegNo] [varchar](50) NULL,
[Country] [varchar](50) NULL,
[CreatedBy] [varchar](50) NULL,
[ShortCode] [varchar](50) NULL,

ログインテーブル

[LoginID] [int] NOT NULL,
[UserName] [nvarchar](50) NOT NULL,
[Password] [nvarchar](50) NOT NULL,
[ShortCode] [nvarchar](50) NULL

SupporterReg テーブル

[SupporterId] [int] NOT NULL,
[SupporterName] [varchar](50) NULL,
[University] [varchar](50) NULL,
[ContactNo] [varchar](50) NULL,
[Email] [varchar](50) NULL,
[StudentLocation] [varchar](50) NULL,
[ImagePath] [varchar](50) NULL,
[ShortCode] [varchar](50) NULL,

データを挿入するには、次のストアド プロシージャを使用します。

 CREATE PROCEDURE [dbo].[UniversityReg_SP]
    (
@Username varchar(50),
@Password varchar(50),
@UniversityName varchar(50) ,
@GovernmentRegNo varchar(50) ,
@Country varchar(50) ,
@CreatedBy varchar(50)

    )
AS
DECLARE @LoginID int
INSERT INTO UniversityReg   values(@UniversityName,@GovernmentRegNo,@Country,@CreatedBy,'UNI')

SET @LoginID = SCOPE_IDENTITY();

INSERT INTO Login values(@LoginID,@Username,@Password,'UNI')

RETURN

エラーは何ですか? テーブルエラーが表示されません...

4

3 に答える 3

2

UniversityReg に挿入する値が少なすぎます。

挿入のタイプは悪い習慣と見なされることに注意してください-挿入する列を指定することを検討してください。

それ以外の:

insert into table values(x,y,z)

行う:

insert into table (col1,col2,col3) values(x,y,z)
于 2012-09-14T16:49:51.913 に答える
1

You have to use code:

INSERT INTO UniversityReg(UniversityName,GovernmentRegNo,Country,CreatedBy,ShortCode)
values(@UniversityName,@GovernmentRegNo,@Country,@CreatedBy,'UNI')

Table UniversityReg has 7 columns, but in your insert you have 5 columns.

于 2012-09-14T16:50:19.693 に答える