BizTalk是否支持子查询?

时间:2012-06-15 12:56:22

标签: sql oracle biztalk biztalk-2010

以下查询适用于Oracle,但不适用于BizTalk。一个快速的谷歌告诉我,

  

“多个语句不适用于Oracle(和其他数据库)   可能也会阻止这种情况)。 Oracle阻止了所谓的SQL   注入,黑客用来获取数据库的机制   在数据库中运行代码。“

这与子查询相同吗?是否可以在没有子查询的情况下编写此查询?

update order_header oh set uploaded = 'Y'
where oh.user_def_chk_3 = 'N' 
and oh.status in('Complete','Shipped') 
and oh.client_id in (select c.client_id from client c 
    where upper(c.notes) like 'BERGEN%');

2 个答案:

答案 0 :(得分:2)

(基于来自疯狂猜测评论的反馈):BizTalk显然将尾随;解释为语句分隔符,因此即使它只是一个,它也会违反多语句限制。删除分号可以防止这种情况发生。

请参阅this answer,了解SQL * Plus和SQL Developer等中常用的原因,即使对于单个语句也是如此。通过其他客户端和适配器,情况会有所不同。

答案 1 :(得分:1)

您可以将查询放在存储过程或视图中。 您没有说明您是如何执行查询的。您使用的是WCF自定义适配器吗?