2011-05-07 63 views
3

可能重复:
select * from table_name where column like '&nbsp'如何插入&使用蟾蜍的oracle?

你怎么插入& symbol如在Oracle数据库中的数据,使用蟾蜍?例如:

INSERT INTO <table_name> 
    (column) 
VALUES 
    ('AT & T'); 

当执行脚本询问对于T新的价值...

+0

这是因为'&'表示绑定变量时,蟾蜍(或SQLPLUS)执行脚本。 – 2011-05-07 14:56:49

+0

[select * from table_name where'列'like'&nbsp'](http://stackoverflow.com/questions/1957436/select-from-table-name-where-column-like-nbsp)的可能重复。另外:http://stackoverflow.com/questions/118190/how-do-i-ignore-ampersands-in-a-sql-script-running-from-sql-plus。有许多重复:http://stackoverflow.com/search?q=[oracle]+%22set+define+off%22 – 2011-05-07 14:57:32

回答

9

使用此:

insert into my_table values ('AT &' || 'T'); 

您也可以尝试使用:

set define off; 

在您的环境因此&Something不会被视为输入变量。但我不知道把它放在TOAD的哪个位置。

+0

这样一个奇怪的:-S经历了同样的问题,并以相同的方式解决它,但可能有没有关闭占位符查找的选项? – zerkms 2011-05-07 13:17:11

+0

@zerkms:是的。在** SQLPlus **中设置“定义关闭”。不知道它是否会在** TOAD **中起作用。但100%同意:这很奇怪。我想这仍然是为了向后兼容。此功能可能至少有25年历史。 :-) – 2011-05-07 13:18:41

+1

如果定义关闭,则不需要||在'AT&'||中'T' – 2011-05-07 13:38:43

4

SET DEFINE OFF将停止sqlplus解释&这种方式。

这也将工作

set define off; 
insert into tablename values('AT & T'); 
+1

如何在蛤蟆? – Rose 2011-05-07 13:38:21

+0

试试这个步骤: 进入查看→选项→SQL编辑器→并取消值绑定变量扫描语句之前执行 – 2011-05-07 13:41:23

+0

搜索 执行/编译选项 - >“提示符替换变量”,取消选择相同 告诉你这是否适合你? – 2011-05-07 13:42:07