2013-03-25 126 views
0

这个查询插入查询错误(无效字符)

insert into table-name(CONTRACT_TYPE,CATEGORY) ( 
select 'GOLDCHOICE','C-CLASS' 
from tablename2 
where model_no = '1'and part_number not in (
    select part_number from tablename3 
    where contract_type ='GOLDCHOICE' 
    and category = 'C-CLASS' 
    and model_number = '1') 
); 

在甲骨文(蟾蜍)成功运行。

然而,当我从asp.net运行它(连接到Oracle),它是扔

ORA-00911:无效字符

但是,如果没有'semicolon(;)'它运行良好。

这可能是什么原因造成的?

+0

您使用哪个供应商? – evgenyl 2013-03-25 14:27:01

+0

我没有使用任何提供程序。我通过VPN直接通过服务器名称进行连接。 – Merlin 2013-03-26 07:11:16

+0

从asp - 你怎么称呼db? “ – evgenyl 2013-03-26 07:30:10

回答

1

尝试从您的查询结束删除;。某些供应商 - 如ODP - 在查询结束时不喜欢;

+0

我不能用分号(;)运行查询呢? 然后,当运行多个插入查询没有分号(;)时,它抛出“ORA-00933:SQL命令未正确结束”我需要运行多个查询。可以做什么?请帮忙 – Merlin 2013-03-26 06:43:11

+0

不是最好的选择,但你可以在循环中做单个插入。您还可以尝试存储过程+绑定数组。 – evgenyl 2013-03-26 07:30:56

+0

你能告诉我一个例子吗 – Merlin 2013-03-26 08:59:02