/**//* 描述:开发中使用了output子句返回已更新数据,并且要在SSIS中获取该值。 问题:ouptut子句,只能将相关数据输出到表变量或者表中,要么直接用output返回, 那么,我如何用代码读取output直接的返回值?查找相关资料,方法仅仅是将数据存入表变量(output into ...@table)。直接运行带有output子句的sql,可以看到这些数据是可以输出的。 经过思考,认为output子句的输出,是以数据集形式返回,类似于select * from table这样的返回结构,那么在ssis这样的应用中,就应该以数据集的方式读取output 返回的数据*/ CREATEPROC p_test AS IFNOTEXISTS(SELECT1FROM sys.tables WHERE NAME ='test') CREATETABLE test(id INT) INSERTINTO test OUTPUT inserted.id VALUES(1) GO DECLARE@idINT EXEC@id= p_test SELECT@id INSERTINTO test ( [id] ) EXEC p_test go SELECT*FROM test --在SSIS调度中,以数据集方式的确可以取出output返回的数值 --从这段测试代码,也可以确信output子句输出是数据集格式的,剩下的就是在ssis中以数据集方式读取output子句的输出数据了。