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

[复制链接]
查看11 | 回复4 | 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 | 显示全部楼层
有人知道吗?
v_1 := SUBSTR('ABCD',2,2);是个由函数得到的变量,现在要把这这个值入到表的一个VARCHAR2字段里,通过动态语句,然后报错说invalid identifier
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
两个单引号表示一个引号
v_1 :=' SUBSTR(''ABCD'',2,2)';
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
v_SQL := 'UPDATE t_tmp SET '||v_cmd1||' = '||''''||v_1||''''||',times = '||v_times||' WHERE '||v_name1||' = '||v_name||' AND sign != 1';或者
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
热门排行