我们需要在同一个数据库上调用三个存储过程,考虑使用复合操作将它们包装在同一事务的同一个调用中。
问题是,我们需要将第一个存储过程的结果用作第二和第三个过程的输入,这是否可行?
由于
答案 0 :(得分:1)
不,不幸的是没有。该映射将运行并创建SQL适配器之后将用于执行的XML。
你可以看看制作一个只运行第一个存储过程的双向发送端口;和另一个发送端口,它订阅第一个发送端口的响应并运行第二个和第三个过程。
答案 1 :(得分:1)
这是不可能的,我害怕。
复合操作的输入是一个XML实例,其中每个输入参数都是事先提供的。
如果确实需要执行这些特定的存储过程,您可以尝试将它们包装到一个自定义存储过程中,您可以随意使用它。
还可以尝试将这3个存储过程中的逻辑合并为一个新逻辑。尝试考虑标量函数,表类型,表值函数等。 SQL服务器可以让你做你想做的事情。
答案 2 :(得分:0)
是的,你绝对可以,但你不会使用复合操作。
您可以使用Orchestration按顺序执行调用,使用Response of one来使用Map创建下一个请求。
这实际上是一种非常常见的模式。