流程实例节点--如何通过sql判断对应的真实数据存在

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

流程实例节点--如何通过sql判断对应的真实数据存在

一、流程节点取到的数据表名和内码,如下图:

image.webp

二、可以通过下面脚本来判断真实数据的存在

--1、定义变量

Declare @tableName varchar(100) ; --表名

Declare @PrimaryKey varchar(100); --表中主键列名

Declare @PkValue bigint ; --主键值

Declare @DynSql NVARCHAR(1000); --动态脚本

Declare @ResultValue INT; --返回结果

Declare @DynSqlParam NVARCHAR(200);  --动态脚本参数


--2、得到表名和主键值

select @tableName=FTTABLENAME,@PkValue=FTID from T_BF_INSTANCEENTRY where FROUTEID='6513e0ce4b1ce6'


--3、得到表对应的主键列名

SELECT  @PrimaryKey =t1.column_name

FROM information_schema.table_constraints t0

JOIN  information_schema.key_column_usage t1 

      ON t0.constraint_name = t1.constraint_name

WHERE  t0.constraint_type = 'PRIMARY KEY' AND t0.table_name = @tableName


--4、构建动态脚本

SET @DynSql = N'SELECT @ResultValue = COUNT(*) FROM '+ @tableName+' where '+ @PrimaryKey +'= @PkValue1'

--5、定义动态脚本中的参数

SET @DynSqlParam = N'@PkValue1 bigint,@ResultValue INT OUTPUT'

--6、执行脚本

EXEC sp_executesql @DynSql, @DynSqlParam, @PkValue1=@PkValue, @ResultValue=@ResultValue OUTPUT

--7、结果

select @ResultValue


流程实例节点--如何通过sql判断对应的真实数据存在

一、流程节点取到的数据表名和内码,如下图:二、可以通过下面脚本来判断真实数据的存在--1、定义变量Declare @tableName varchar(100) ...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息