IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[TheWay_Membership_CreateUser]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[TheWay_Membership_CreateUser]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[TheWay_Membership_CreateUser]
@UserName nvarchar(256),
@Password nvarchar(128),
@Salt nvarchar(128),
@Email nvarchar(256),
@PasswordQuestion nvarchar(256),
@PasswordAnswer nvarchar(128),
@IsApproved bit,
@UniqueEmail int = 0,
@PasswordFormat int = 0,
@NewUserID int OUTPUT
AS
PRINT 'ERROR: No title_id was specified.'
SELECT @NewUserID=0
--檢查是否已經有相同的使用者名稱存在,存在則返回-1
IF ( EXISTS ( SELECT UserID FROM dbo.TheWay_Users WHERE UserName = @UserName ) )
BEGIN
RETURN(-1)
END
ELSE
IF(@UniqueEmail = 1)
BEGIN--檢查是否要求要不重複的Email,如果要求,則檢查是否已經存在相同的Email,如果存在返回-2
IF(EXISTS(SELECT UserID FROM dbo.TheWay_Users WHERE Email = @Email))
BEGIN
RETURN(-2)
END
END
ELSE
BEGIN
--插入必要的資料到資料庫,並將UserID查詢返回,成功則返回1
INSERT INTO dbo.TheWay_Users
(
UserName,
Password,
PasswordFormat,
Salt,
PasswordQuestion,
PasswordAnswer,
Email,
IsApproved
)
VALUES
(
@UserName,
@Password,
@PasswordFormat,
@Salt,
@PasswordQuestion,
@PasswordAnswer,
@Email,
@IsApproved
)
IF(EXISTS(SELECT @NewUserID=UserID FROM dbo.TheWay_Users Where UserName=@UserName))
BEGIN
RETURN(1)
END
ELSE
BEGIN
RETURN(-3)
END
END
GO
我是個菜鳥,幫幫忙。