动态语句中有单引号怎么处理?

[复制链接]
查看11 | 回复9 | 2006-4-17 13:46:34 | 显示全部楼层 |阅读模式
v_1 := SUBSTR('ABCD',2,2);
v_cmd1 := 'mycmd';
v_times :=2;
v_name1 := 'myname';
v_name := 'joan';
v_SQL := 'UPDATE t_tmp SET '||v_cmd1||' = '||v_1||',times = '||v_times||' WHERE '||v_name1||' = '||v_name||' AND sign != 1';
报错说 "BC": invalid identifier
我觉得应该是v_1那里加单引号,但不知道怎么加?
请教各位,谢谢!
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
SQL> select ''''||'a'||''''||'b' from dual;
''''
----
'a'b
SQL> select ''''||'a'''||''''||'b' from dual;
''''|
-----
'a''b
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
谢谢楼上,没看懂,能说详细吗?
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
还有v_1是个变量
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
字符窜里加引号 '''
单独用引号 ''''
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
最初由 iloveora 发布
[B]还有v_1是个变量 [/B]

v_1 := ''''||SUBSTR('ABCD',2,2)||'''';
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
谢谢,那要在一个变量两端加上引号 呢?
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
有人知道吗?
v_1 := SUBSTR('ABCD',2,2);是个由函数得到的变量,现在要把这这个值入到表的一个VARCHAR2字段里,通过动态语句,然后报错说invalid identifier
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
最初由 iloveora 发布
[B]v_1 := SUBSTR('ABCD',2,2);
v_cmd1 := 'mycmd';
v_times :=2;
v_name1 := 'myname';
v_name := 'joan';
v_SQL := 'UPDATE t_tmp SET '||v_cmd1||' = '||v_1||',times = '||v_times||' WHERE '||v_name1||' = '||v_name||' AND sign != 1';
报错说 "BC": invalid identifier
我觉得应该是v_1那里加单引号,但不知道怎么加?
请教各位,谢谢! [/B]

v_SQL := 'UPDATE t_tmp SET '||v_cmd1||' = '||
''''||v_1||''''
||',times = '||v_times||' WHERE '||v_name1||' = '||v_name||' AND sign != 1';
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
你要将字符串中的单引号前面再加上单引号,这样动态语句就可以使用了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行