テーブルにエントリを追加する SQL 関数を作成しようとしています。新しいユーザーを追加する前に、確認したいこと、またはこのユーザーがまだテーブルにないことを確認します。コードを書きましたが、次のエラーが表示されて保存できません: 関数内での副作用演算子 'INSERT' の使用が無効です。関数内に含まれる最後のステートメントは、return ステートメントでなければなりません。
CREATE FUNCTION [dbo].[CreateUser]
(
@Username varchar(20),
@Password varchar(20),
@Email varchar(50),
@PasswordQuestion varchar(30),
@PasswordAnswer varchar(30)
)
RETURNS bit/* datatype */
AS
BEGIN
if (Exists(Select Username from Users where Username=@Username and Password=@Password))
return 1;
else
begin
INSERT INTO dbo.Users (Username, Password,
Email, UserId,
IsApproved, IsLockedOut,
IsOnline, CreationDate,
PasswordQuestion, PasswordAnswer) VALUES (@Username, @Password, @Email,
1, 0, 0, 0, GetDate(),
@PasswordQuestion, @PasswordAnswer);
return 0;
end
END
私はSQLの初心者なので、アドバイスは素晴らしいです!