一、流程节点取到的数据表名和内码,如下图:
二、可以通过下面脚本来判断真实数据的存在
--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