获取自定义下拉列表,右侧信息
如下:

方法:
CREATE FUNCTION Tyler_GetCustomFieldByName_RightText ( @parentPK uniqueidentifier, -- 主键 @fieldName varchar(32), -- 自定义栏位 @fieldValue varchar(100) -- 下拉列表左侧值(dbo.GetCustomFieldByName 获取的值) ) returns nvarchar(200) as Begin declare @data xml declare @valueStr nvarchar(max) SELECT @data = GenCustomAddOnRule.XR_SourceCode FROM dbo.GenCustomAddOnValue JOIN dbo.GenCustomAddOnRule on GenCustomAddOnValue.XV_XR_Rule=GenCustomAddOnRule.XR_PK WHERE XV_ParentID = @parentPK AND XV_Name = @fieldName select @valueStr= @data.value('((//rules/rule/details/codeDescriptionList/codeDescription[@code=sql:variable("@fieldValue")])[1]/@description)[1]','varchar(max)') return @valueStr end
一,涉及的表
GenCustomAddOnValue
GenCustomAddOnRule
二,创建相关视图
CREATE view Tyler_GetGenCustomAddOnValue
as
SELECT
XV_PK,
XV_Data,
XV_IsRuleEnabled,
XV_Name,
XV_ParentID,
XV_ParentTableCode,
XV_Type,
XV_XR_Rule
FROM dbo.GenCustomAddOnValue
CREATE view Tyler_GetGenCustomAddOnRule
as
SELECT
XR_PK,
XR_IsSystemDefined,
XR_IsActive,
XR_Code,
XR_Description,
XR_SourceCode,
XR_RuleType
FROM dbo.GenCustomAddOnRule
上面两张表需要通过GenCustomAddOnValue.XV_XR_Rule进行关联
三,测试例子
获取GenCustomAddOnRule中的sourceCode(这是一个xml文本),得到其中对应的description 测试sql declare @data xml set @data='<sourceCode> <rules> <rule code="InvalidCode" enabled="true"> <details> <codeDescriptionList> <codeDescription code="JC" description="JOYCE" /> <codeDescription code="SW" description="SEAN" /> <codeDescription code="JLA" description="JUNO" /> <codeDescription code="GW1" description="GEENA" /> </codeDescriptionList> </details> </rule> <rule code="CreateEvent" enabled="false"> <details> <CreateEventRuleCode>Z00</CreateEventRuleCode> </details> </rule> <rule code="DateTimeFormat" enabled="false"> <details> <format>Short</format> </details> </rule> <rule code="CheckEntered" enabled="false"> <details /> </rule> </rules> </sourceCode>' -- 获取OP MANAGER 为 JC的description(也就是下拉列表中,右侧的信息) select @data.value('((//rules/rule/details/codeDescriptionList/codeDescription[@code="JC"])[1]/@description)[1]','varchar(max)')

浙公网安备 33010602011771号