这种字符串如何update或insert

javanew 2003-09-30 09:52:55
在程序写sql,字段为varchar ,一般写法就是
insert into table values("" "" "")...

但是如果字符串中有单引号或双引号怎么办?好象报错,怎么办?
...全文
56 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
greenbeer 2003-10-08
  • 打赏
  • 举报
回复
ORACLE中的所有单引号和双引号必须成对出现
所以把所有出现的一个单引号替换成两个单引号等。

Nickle_Final 2003-10-08
  • 打赏
  • 举报
回复
varchar2的变量也不能超过4000限制的吧?
allisright 2003-10-04
  • 打赏
  • 举报
回复
Oracle中的CLOB变量最大存储量可以达到6G左右,我想可能是你用常量字符串的缘故,试着用变量代替一下,比如先用VARCHAR2变量,然后再把该变量插入表里的CLOB字段。
zhengjianning402 2003-10-04
  • 打赏
  • 举报
回复
把字替换成两上一样的就可以了
raiven 2003-10-03
  • 打赏
  • 举报
回复
两种方法
第一就是象一楼的写法。直接在values 写 '''hello''','"hello"'
分别是加单引和双引。
或者可以 ''||'1111'||'' 和 ''||'"1111"'||''
前者可以说是简便的写法
后者是共通的写法。比较容易理解。


podded 2003-10-02
  • 打赏
  • 举报
回复
clob的字符数据最大长度为4G
javanew 2003-10-02
  • 打赏
  • 举报
回复
1.如果在命令行输入insert or update clob字段是不能大于4000字节的吧

2.oracle是英文字符集
beckhambobo 2003-10-02
  • 打赏
  • 举报
回复
你的字符集是使用了中文or英文?
pluto74 2003-09-30
  • 打赏
  • 举报
回复
insert into table values('','','')
Lastdrop 2003-09-30
  • 打赏
  • 举报
回复
一般写法就是
insert into table values('','','')...

如果你是动态构造SQL, 有双引号不会出错,但是有单引号在字符串中会报错。解决方法:

1。不使用动态构造SQL的方法,而是采用变量绑定的方式。

2。事先将单引号替换为全角的单引号,这个方法不太好,等于改变了字符串的内容。
podded 2003-09-30
  • 打赏
  • 举报
回复
SQL> create table test(
2 test1 varchar2(10),
3 test2 varchar2(10));

Table created.

SQL> insert into test(test1,test2) values('''hello''','"hello"');

1 row created.

SQL> select * from test;

TEST1 TEST2
---------- ----------
'hello' "hello"
javanew 2003-09-30
  • 打赏
  • 举报
回复
多谢,还有一个问题,是否用insert or update的sql语句对clob字段进行更新或插入时,不能超过4000个字符?

就是说:table A(id number(11),memo clob);
insert into a values(1,'dkdkdkdk');

dkdkdk那段不能大于4000,否则会报ORA-01704: string literal too long错,是吗?

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧