本帖最后由 hessen 于 2022-5-8 12:36 编辑
GetUserIDText (参数1,参数2)
适用于: 快表软件企业版
根据用户名、部门、用户组名返回一个或多个用逗号分割合并的用户ID字符串
语法
GetUserIDText ( 用户姓名/部门名称/用户组名,返回类型 )
参数
用户姓名/部门名称/用户组名
返回类型 3种,用户/部门/用户组
创建函数
- CREATE FUNCTION [dbo].[GetUserIDText](@Name VARCHAR(50),@Type VARCHAR(50))
- returns VARCHAR(2000)
- as
- Begin
- declare @return VARCHAR(2000)
-
- Begin
- IF @type = '用户' --根据用户名得到UUID
- Begin
- Select @return = UUID From SYS_VIEW_USER Where USERNAME = @Name
- END
- ELSE IF @type = '部门' --根据部门得到UUID
- Begin
- Select @return = String_Agg(UUID,',') From SYS_VIEW_USER Where CDEPTNAME = @Name
- END
- ELSE IF @type = '用户组' --根据用户组得到UUID
- Begin
- Select @return = String_Agg(UUID,',') FROM SYS_VIEW_USERS Where USERSNAME = @Name
- END
- End
- return(@return)
- End
复制代码
示例
A. 使用 GetUserIDText 根据用户名得到UUID
- Select [dbo].[GetUserIDText]('超级管理员','用户')
复制代码
输出结果为: 0e6c2110-37a6-40e0-8fd9-a82edad11bae
B. 使用 GetUserIDText 根据部门得到部门内所有用户UUID
- Select [dbo].[GetUserIDText]('项目部','部门')
复制代码
输出结果为: 6d6690c6-73a8-4d77-af4c-86aa55ec053d,a265ee42-106c-413c-a48c-c60e224b40a2
C. 使用 GetUserIDText 根据用户组得到用户组内所有用户UUID
- Select [dbo].[GetUserIDText]('部门经理','用户组')
复制代码
输出结果为: 1df66873-48b8-440e-a3dd-5bafe6e0a8b9,a2041754-28ef-4160-84d4-6bb4e9dd9b9a,a265ee42-106c-413c-a48c-c60e224b40a2
|
hessen