周一至周五 : 08:30 - 17:30 客服专员电话/微信:17301649371 QQ:2627049059
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
自定义函数GetUserInfo取得指定用户相关信息
显示全部楼层 倒序浏览 发表日期 2019-01-05 15:14:11 3771次阅读 3次回复
本帖最后由 hessen 于 2021-4-8 10:06 编辑

GetUserInfo (参数1,参数2)

适用于: 快表软件企业版

返回指定用户姓名或用户ID的相关用户信息。

语法


   GetUserInfo ( 用户姓名/用户ID,返回类型 )  

参数

用户姓名/用户ID
快表系统中建立的用户姓名或用户编号

返回类型
1 --取得用户ID
2 --取得用户姓名
3 --取得用户登录名
4 --取得用户手机
5 --取得用户邮箱
6 --取得用户状态
7 --取得用户备注
21 --取得用户所在部门ID
22 --取得用户所在部门编号
23 --取得用户上级部门ID
24 --取得用户上级部门名称


创建函数
  1. CREATE FUNCTION [dbo].[GetUserInfo](@UserNameID VARCHAR(50),@type INT)
  2. returns VARCHAR(50)
  3. as
  4. Begin
  5. declare  @return VARCHAR(50)
  6.   
  7.    Begin
  8.          IF @type = 1 --取得用户ID
  9.            Begin
  10.          SELECT @return = [UUID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  11.            END
  12.          ELSE IF @type = 2 --取得用户姓名
  13.            Begin
  14.              SELECT @return = [USERNAME] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  15.            END
  16.          ELSE IF @type = 3 --取得用户登录名
  17.            Begin
  18.              SELECT @return = [LOGINNAME] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  19.            END
  20.          ELSE IF @type = 4 --取得用户手机
  21.            Begin
  22.              SELECT @return = [USERMOBILE] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  23.            END
  24.          ELSE IF @type = 5 --取得用户邮箱
  25.            Begin
  26.              SELECT @return = [USEREMAIL] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  27.            END   
  28.          ELSE IF @type = 6 --取得用户状态
  29.            Begin
  30.              SELECT @return = [ISENABLE] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  31.            END
  32.          ELSE IF @type = 7 --取得用户备注
  33.            Begin
  34.              SELECT @return = [USERREMARK] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  35.            END
  36.          ELSE IF @type = 21 --取得用户所在部门ID
  37.            Begin
  38.              SELECT @return = [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  39.            END
  40.          ELSE IF @type = 22 --取得用户所在部门编号
  41.            Begin
  42.                  SELECT @return = [DEPTNUMBER] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  43.            END
  44.          ELSE IF @type = 23 --取得用户上级部门ID
  45.            Begin
  46.                  SELECT @return = [PID] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  47.            END
  48.          ELSE IF @type = 24 --取得用户上级部门名称
  49.            Begin
  50.                    SELECT @return = [DEPTNAME] FROM SYS_DEPT WHERE DID = (SELECT PID FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID))
  51.            END
  52.    End
  53. return(@return)
  54. End


  55. GO
复制代码


示例
A. 使用 GetUserInfo 取得用户登录名

  1. SELECT [dbo].[GetUserInfo]('李荣坤',3)
复制代码



电话/微信:18049989370 QQ:857188287
  1. CREATE FUNCTION [dbo].[GetUserInfo](@UserNameID VARCHAR(50),@Type VARCHAR(50))
  2. returns VARCHAR(50)
  3. as
  4. Begin
  5. declare  @return VARCHAR(50)
  6.   
  7.    Begin
  8.          IF @type = 'ID' --取得用户ID
  9.            Begin
  10.          SELECT @return = [UUID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  11.            END
  12.          ELSE IF @type = '姓名' --取得用户姓名
  13.            Begin
  14.              SELECT @return = [USERNAME] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  15.            END
  16.          ELSE IF @type = '登录名' --取得用户登录名
  17.            Begin
  18.              SELECT @return = [LOGINNAME] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  19.            END
  20.          ELSE IF @type = '手机' --取得用户手机
  21.            Begin
  22.              SELECT @return = [USERMOBILE] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  23.            END
  24.          ELSE IF @type = '邮箱' --取得用户邮箱
  25.            Begin
  26.              SELECT @return = [USEREMAIL] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  27.            END   
  28.          ELSE IF @type = '状态' --取得用户状态
  29.            Begin
  30.              SELECT @return = [ISENABLE] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  31.            END
  32.          ELSE IF @type = '备注' --取得用户备注
  33.            Begin
  34.              SELECT @return = [USERREMARK] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  35.            END
  36.                  ELSE IF @type = '自定义字符1' --取得用户自定义字符1
  37.            Begin
  38.              SELECT @return = [CUSTOMTEXT1] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  39.            END
  40.                  ELSE IF @type = '自定义字符2' --取得用户自定义字符2
  41.            Begin
  42.              SELECT @return = [CUSTOMTEXT2] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  43.            END
  44.                  ELSE IF @type = '自定义字符3' --取得用户自定义字符3
  45.            Begin
  46.              SELECT @return = [CUSTOMTEXT3] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  47.            END
  48.                  ELSE IF @type = '自定义字符4' --取得用户自定义字符4
  49.            Begin
  50.              SELECT @return = [CUSTOMTEXT4] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  51.            END
  52.                  ELSE IF @type = '自定义字符5' --取得用户自定义字符5
  53.            Begin
  54.              SELECT @return = [CUSTOMTEXT5] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  55.            END
  56.          ELSE IF @type = '部门ID' --取得用户所在部门ID
  57.            Begin
  58.              SELECT @return = [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  59.            END
  60.          ELSE IF @type = '部门编号' --取得用户所在部门编号
  61.            Begin
  62.                  SELECT @return = [DEPTNUMBER] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  63.            END
  64.          ELSE IF @type = '上级部门ID' --取得用户上级部门ID
  65.            Begin
  66.                  SELECT @return = [PID] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  67.            END
  68.          ELSE IF @type = '上级部门名称' --取得用户上级部门名称
  69.            Begin
  70.                  SELECT @return = [DEPTNAME] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  71.            END
  72.    End
  73. return(@return)
  74. End


  75. GO
复制代码
电话/微信:18049989370 QQ:857188287

精彩评论3

  1. CREATE FUNCTION [dbo].[GetUserInfo](@UserNameID VARCHAR(50),@Type VARCHAR(50))
  2. returns VARCHAR(50)
  3. as
  4. Begin
  5. declare  @return VARCHAR(50)
  6.   
  7.    Begin
  8.          IF @type = 'ID' --取得用户ID
  9.            Begin
  10.          SELECT @return = [UUID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  11.            END
  12.          ELSE IF @type = '姓名' --取得用户姓名
  13.            Begin
  14.              SELECT @return = [USERNAME] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  15.            END
  16.          ELSE IF @type = '登录名' --取得用户登录名
  17.            Begin
  18.              SELECT @return = [LOGINNAME] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  19.            END
  20.          ELSE IF @type = '手机' --取得用户手机
  21.            Begin
  22.              SELECT @return = [USERMOBILE] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  23.            END
  24.          ELSE IF @type = '邮箱' --取得用户邮箱
  25.            Begin
  26.              SELECT @return = [USEREMAIL] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  27.            END   
  28.          ELSE IF @type = '状态' --取得用户状态
  29.            Begin
  30.              SELECT @return = [ISENABLE] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  31.            END
  32.          ELSE IF @type = '备注' --取得用户备注
  33.            Begin
  34.              SELECT @return = [USERREMARK] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  35.            END
  36.                  ELSE IF @type = '自定义字符1' --取得用户自定义字符1
  37.            Begin
  38.              SELECT @return = [CUSTOMTEXT1] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  39.            END
  40.                  ELSE IF @type = '自定义字符2' --取得用户自定义字符2
  41.            Begin
  42.              SELECT @return = [CUSTOMTEXT2] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  43.            END
  44.                  ELSE IF @type = '自定义字符3' --取得用户自定义字符3
  45.            Begin
  46.              SELECT @return = [CUSTOMTEXT3] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  47.            END
  48.                  ELSE IF @type = '自定义字符4' --取得用户自定义字符4
  49.            Begin
  50.              SELECT @return = [CUSTOMTEXT4] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  51.            END
  52.                  ELSE IF @type = '自定义字符5' --取得用户自定义字符5
  53.            Begin
  54.              SELECT @return = [CUSTOMTEXT5] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  55.            END
  56.          ELSE IF @type = '部门ID' --取得用户所在部门ID
  57.            Begin
  58.              SELECT @return = [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID
  59.            END
  60.          ELSE IF @type = '部门编号' --取得用户所在部门编号
  61.            Begin
  62.                  SELECT @return = [DEPTNUMBER] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  63.            END
  64.          ELSE IF @type = '上级部门ID' --取得用户上级部门ID
  65.            Begin
  66.                  SELECT @return = [PID] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  67.            END
  68.          ELSE IF @type = '上级部门名称' --取得用户上级部门名称
  69.            Begin
  70.                  SELECT @return = [DEPTNAME] FROM SYS_DEPT WHERE DID = (SELECT [DID] FROM [SYS_USER] WHERE USERNAME = @UserNameID OR UUID =  @UserNameID)
  71.            END
  72.    End
  73. return(@return)
  74. End


  75. GO
复制代码
电话/微信:18049989370 QQ:857188287
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |