こんにちはプログラマー 私は TSQL インライン テーブル関数を書いていますが、実際には SQL で十分ではありません。コードを完成させると、「'BEGIN' 付近の構文が正しくありません」というエラーが表示されます。、解決策を知っている人は教えてください。ちなみに、エラーメッセージをダブルクリックすると、最後の「終わり」が選択されます
create FUNCTION [dbo].[CheckLogin]
(
@un varchar(max),
@pw varchar(max)
)
RETURNS TABLE
AS
begin
declare @unexist int, @unpwmatch int, @uid bigint
declare @uisactivated bit , @uisdeleted bit
-----
set @unexist = (select COUNT(UserAccessInfo.UserId) FROM UsersAccessInfo
WHERE UserAccessInfo.UserName = @un OR UserAccessInfo.UserEmail = @un)
------
set @unpwmatch = (select count(usersaccessinfo.userid) from usersaccesinfo
WHERE (usersaccessinfo.UserName = @un) AND (usersaccessinfo.UserPassword = @pw) OR
(usersaccessinfo.UserEmail = @un) AND (usersaccessinfo.UserPassword = @pw))
------
set @uid =(select usersaccessinfo.userid from usersaccessinfo where
serAccessInfo.UserName = @un OR UserAccessInfo.UserEmail = @un)
------
if @uid <> Null
begin
set @uisactivated =(select usersaccessinfo.userisactivated from usersaccessinfo
where usersaccessinfo.userid=@uid)
end
------
if @uid <> null
begin
set @uisactivated =(select usersaccessinfo.userisactivated from usersaccessinfo
where usersaccessinfo.userid=@uid)
end
------
if @unexist = 0
begin
select dbo.getreportbyid('1004')
end;
else if @unpwmatch = 0
begin
select dbo.getreportbyid('1005')
end;
else if @uid<>0
begin
if @uisactivated =0
begin
select dbo.getreportbyid('1002')
end;
else if @uisdeleted = 1
begin
select dbo.getreportbyid('1003')
end;
end;
else
begin
select ('successful') as report
end;
return
end;