• sql标量函数与表值函数


    标量函数
    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)
  • 相关阅读:
    Compoer的应用
    memcache的简单使用示例
    windows下安装Memcached服务器,PHP的memcache扩展
    jQuery跨域
    git常用基本命令
    Linux常用命令总结
    修改MySQL数据库密码
    Linux配置LNMP环境(三)配置MySQL
    django之多表查询与创建
    django之单表操作
  • 原文地址:https://www.cnblogs.com/hsw-2013/p/sqlserver.html
Copyright © 2020-2023  润新知