0

基本的に、登録すると(登録の詳細はログインテーブルに移動します)、このデータは2つのテーブルに移動します。

  1. ログインテーブル
  2. 登録表(特定)

を使用し@Attribて、どのデータをどのテーブルに移動する必要があるかを確認します。しかし、ここでは最初のelse部分の近くでエラーが発生しています。

エラーは次のとおりです。

SELECTまたは、'('を期待する'@Attrib'の近くの構文が正しくありません

コードは次のとおりです。

ALTER procedure [dbo].[Registration_SP]
(
    @Email varchar(50),
    @Password varchar(50),
    @Repassword varchar(50),
    @Attrib varchar(50) 
)
AS

BEGIN

    Insert into Login (Email,Password,Repassword,Attrib)
    values(@Email,@Password,@Repassword,@Attrib)

    IF (@Attrib = 'Student')
    BEGIN
        Insert into StudentReg
            (StudentId,FirstName,LastName,Gender,Address1,Address2,Address3,
             LandPhone,MobilePhone,Budget,IsFinancialSupport,CourseName,
             IsJobSeeker,Country,Region,IsSupportActive,RegDate,ImagePath,
             ShortCode)
        Values(@Email,'','','','','','','','','','','','','','','','','','')
    END
    ELSE (@Attrib = 'Financial Supporter')
    BEGIN
        Insert into SupporterReg   
        (SupporterId,SupporterName,University,ContactNo,StudentLocation,RegDate,
         ImagePath,ShortCode)
        Values(@Email,'','','','','','','')
    END

さらに明確にするために、私は以下の画像を添付しました:

ここに画像の説明を入力してください

4

2 に答える 2

7

あなたは後でELSE行方不明です:IF

すなわち

ELSE (@Attrib = 'Financial Supporter') 

する必要があります

ELSE IF (@Attrib = 'Financial Supporter') 
于 2012-10-12T18:24:38.913 に答える
6

ケースには条件がELSEないため、構文エラーが報告されます。

-- Should be no condition here, syntax error.
ELSE (@Attrib = 'Financial Supporter')

私はあなたがそれを意図したと思いますELSE IF

ELSE
 IF (@Attrib = 'Financial Supporter')
于 2012-10-12T18:24:08.873 に答える