我正在尝试针对Oracle数据库的简单INSERT语句。其中一个值是VARCHAR2字段,insert语句包含一个&符号。我该怎么做呢?我尝试了以下方法:
还有其他想法吗?
答案 0 :(得分:24)
我如何解决它是逃避&与另一个&。
例如:
INSERT INTO Foo (Bar) VALUES ('Up && Away');
很好地工作。感谢所有帮助
答案 1 :(得分:21)
答案 2 :(得分:12)
需要时间熟悉的PL / SQL Developer的一个特性是过多的不同窗口类型。
其中一个是COMMAND窗口,它基本上是一个SQL * Plus模拟器。我们可以运行SQL * Plus命令以及SQL,因此SET ESCAPE
,SET DEFINE
和SET SCAN OFF
可以在该窗口中运行。
答案 3 :(得分:8)
你尝试过这样的事吗?
INSERT INTO tablex VALUES ('Sid ' || '&' || ' Nancy');
改进我的第一个答案,你的问题与PL / SQL Developer有关。如果在PL / SQL Developer Command窗口中执行块,也可以使用标准的SET DEFINE OFF,它与SQL * Plus中的相同。
答案 4 :(得分:4)
select FUND_NM
FROM PERFORMANCE
WHERE upper(FUND_DESC) in ('My L&' ||'L FUNDS')
答案 5 :(得分:3)
我使用chr(38)
我需要PL / SQL中的&符号。
addr:= 'mysite.com/order.aspx?no=5678' || CHR(38) || 'id=947';
--above line gives you 'mysite.com/order.aspx?no=5678&id=947';
答案 6 :(得分:1)
这只是一个SQL编辑器问题。要解决此问题,只需使用SET DEFINE OFF编译该过程; 。 执行PL(在服务器中执行)不会遇到这个问题。