这个函数怎么错了

eHuaTian 2018-09-06 08:15:06
--对表tableName将记录导出,导出记录的列为fieldCols
--tableName:要查找的表名
--fieldCols:查找表的字段名称集合,值形如“field1,field2,fields”,各字段名称用逗号隔开。
--judegField:判断字段
--judegFieldValue:标准值
procedure getRecords(tableName varchar2, fieldCols varchar2,judegField varchar default NULL,
judegFieldValue varchar2 default NULL,records out SYS_REFCURSOR)is
p_str varchar2(4000);

begin
IF (judegField is NULL) then
p_str :='select '||fieldCols||' from ' ||tableName|| ';
ELSE
p_str :='select '||fieldCols||' from ' ||tableName|| ' where ' || judegField|| '=' ||''''||judegFieldValue||'''';
END IF;

open records for p_str;/*返回游标*/

end;

编译的时候提示:p_str :='select '||fieldCols||' from ' ||tableName|| ' where ' || judegField|| '=' ||''''||judegFieldValue||'''';错误
...全文
165 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-09-07
  • 打赏
  • 举报
回复
IF (judegField is NULL) then p_str :='select '||fieldCols||' from ' ||tableName|| '; ELSE 红色这行,最后的单引号去掉,或者 换成两个单引号 p_str :='select '||fieldCols||' from ' ||tableName|| ''; p_str :='select '||fieldCols||' from ' ||tableName;
  • 打赏
  • 举报
回复
加一个dbms_output.put_line 输出看看你的拼接有没有问题。
后面= 前面 加个空格吧 试试

17,089

社区成员

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

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