标量函数
CREATE function [dbo].[UserIDFromName](@UserName nvarchar(20),@UserPass nvarchar(64)) returns int as begin return (select UserID from UserInfo where UserName=@UserName and UserPass=@UserPass) end;
调用:
create procedure [dbo].[GetUserRole] @UserName nvarchar(20), @PassWord nvarchar(64), @FuncID int AS set nocount on declare @UserID int set @UserID=Admin.dbo.UserIDFromName(@UserName,@PassWord) if @UserID is null begin select ret=1,msg='用户名或密码错误!' return -1 end if not exists (select UserID from UserInfo where UserID=@UserID and IsActive=1) begin select ret=1,msg='该用户尚未激活,请联系管理员!' return -1 end declare @isAdmin bit set @isAdmin=(select IsAdmin from UserInfo where UserName=@UserName) if @isAdmin=1 begin if @FuncID is not null return 4 else begin select ret=1,msg='权限不存在!' return -1 end end if @FuncID is not null begin declare @role int set @role=(select role from UserRole where UserID=@UserID and FuncID=@FuncID) if @role is null set @role=0 return @role end else begin select ret=1,msg='权限不存在!' return -1 end
表值函数:
CREATE FUNCTION [dbo].[Get_BindMaxMemberOrder](@dwRcvUserID as INT) RETURNS TABLE AS -- 绑定会员,(会员期限与切换时间) return (SELECT MAX(MemberOrder) as MaxmemberOrder,MAX(MemberOverDate) as MaxmemberOverDate FROM MemberInfo WHERE UserID=@dwRcvUserID)
调用:
-- 绑定会员,(会员期限与切换时间) SELECT @MaxMemberOrder=MaxMemberOrder,@MemberOverDate=MaxMemberOverDate FROM UserDB.dbo.Get_BindMaxMemberOrder(@dwRcvUserID)
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步