declare v_sql varchar2(1000); type w_rec is ref cursor; v_rec w_rec begin open v_rec for 'select * from user_object where table_name=upper('ps_case_tbl')'; end; 这段存储过程打开游标那里会报错,upper('xxx')这里的单引号该如何处理?
open v_rec for 'select * from user_object where table_name=upper(''||'ps_case_tbl'||'')';open v_rec for 'select * from user_object where table_name=upper('||CHR(39)||'ps_case_tbl'||CHR(39)||')';
declare v_sql varchar2(1000); type w_rec is ref cursor; v_rec w_rec; -- 少了分号 begin -- 单引号里的单引号要用两个,第一个用来转义 open v_rec for 'select * from user_object where table_name=upper(''ps_case_tbl'')'; end;
open v_rec for 'select * from user_object where table_name=upper(''||'ps_case_tbl'||'')';open v_rec for 'select * from user_object where table_name=upper('||CHR(39)||'ps_case_tbl'||CHR(39)||')';
declare
v_sql varchar2(1000);
type w_rec is ref cursor;
v_rec w_rec; -- 少了分号
begin
-- 单引号里的单引号要用两个,第一个用来转义
open v_rec for 'select * from user_object where table_name=upper(''ps_case_tbl'')';
end;