背景
我想写个表单验证,明明记着以前写过,但不记得在哪个流程的哪个节点的表单里写的,所以就想统计一下看哪个流程的哪个节点的表单里写过代码块。
方法
select d.typename, b.workflowname, b.version, c.nodename, a.scripts from workflow_nodehtmllayout a inner join workflow_base b on a.workflowid = b.id inner join workflow_nodebase c on a.nodeid = c.id inner join workflow_type d on b.workflowtype = d.id where len(cast(scripts as varchar)) <> 0 order by b.id, c.id |
总结
用到这么几张表:
workflow_base(工作流基本信息表)
workflow_nodebase(工作流节点基本信息表)
workflow_type(工作流种类表)
workflow_nodehtmllayout(工作流Html模式模板信息表)
代码段的内容是存放在workflow_nodehtmllayout表的script字段里,这个字段的类型是text,这里涉及到判断text字段内容是否为空的知识点。我是SQL Server,用的办法是把text类型的字段转化成varchar类型,求其长度。