set define off怎么在sql窗口实现其功能

赵小花啦啦啦啦 2019-12-20 03:03:30
请问下谁知道set define off;怎么在sql窗口实现其功能?我需要在存过中增加这个设置,因为前段服务会传入含&符号的字符串,到数据库中就会报错,单独测试过程得到原因是因为&符号,数据库会自动识别让输入变量。请问哪位大神知道怎么把这个识别关掉,让存过正常通过。因为set define off;好像只能在命令窗口执行,而且是要在同一session下,所以对我的存过没作用,求教求教。
...全文
991 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 weixin_39657173 的回复:
[quote=引用 3 楼 js14982 的回复:] set define off;就放到存储过程里面,外部接口调用,不一定会报错的。 你在plsql窗口调用报错,通过接口调用不一定报错的。而且存储过程是在oracle里面的对象,你plsql dev只是查看并不是说你的存储过程在plsql dev里面
试了,不行,报错[/quote] 可以了,存过中是可以的,单独拉出来语句到sql窗口不行,哈哈哈哈。
引用 3 楼 js14982 的回复:
set define off;就放到存储过程里面,外部接口调用,不一定会报错的。 你在plsql窗口调用报错,通过接口调用不一定报错的。而且存储过程是在oracle里面的对象,你plsql dev只是查看并不是说你的存储过程在plsql dev里面
可以了,存过test可以的,单独拉出来到sql窗口不行,哈哈哈哈,是我之前没测成功,谢谢,之前有点晕了,哈哈
nayi_224 2019-12-20
  • 打赏
  • 举报
回复 2
这个按钮点上
js14982 2019-12-20
  • 打赏
  • 举报
回复
可以想办法把&替换掉吗?
minsic78 2019-12-20
  • 打赏
  • 举报
回复
引用 6 楼 weixin_39657173 的回复:
[quote=引用 5 楼 minsic78 的回复:] set命令是sqlplus命令,不是SQL,所以在其他工具上不能使用这个命令。
真没有其他方法解决这种&了吗,&是服务端的入参,html语言动不了的,数据库里处理处理不来。想在论坛里问问有没有其他方法。[/quote] 不知道你怎么使用这个&的?存储过程里不会有这种变量的吧,怀疑你用的是PL/SQL匿名块,然后程序跑匿名块?
  • 打赏
  • 举报
回复
引用 5 楼 minsic78 的回复:
set命令是sqlplus命令,不是SQL,所以在其他工具上不能使用这个命令。
真没有其他方法解决这种&了吗,&是服务端的入参,html语言动不了的,数据库里处理处理不来。想在论坛里问问有没有其他方法
minsic78 2019-12-20
  • 打赏
  • 举报
回复
set命令是sqlplus命令,不是SQL,所以在其他工具上不能使用这个命令。
  • 打赏
  • 举报
回复
引用 3 楼 js14982 的回复:
set define off;就放到存储过程里面,外部接口调用,不一定会报错的。 你在plsql窗口调用报错,通过接口调用不一定报错的。而且存储过程是在oracle里面的对象,你plsql dev只是查看并不是说你的存储过程在plsql dev里面
试了,不行,报错
js14982 2019-12-20
  • 打赏
  • 举报
回复
set define off;就放到存储过程里面,外部接口调用,不一定会报错的。 你在plsql窗口调用报错,通过接口调用不一定报错的。而且存储过程是在oracle里面的对象,你plsql dev只是查看并不是说你的存储过程在plsql dev里面
  • 打赏
  • 举报
回复
引用 1 楼 js14982 的回复:
直接放到存储过程里面会报错么? 存储过程是怎么执行的,通过job执行吗? 还是通过外部程序来执行
外部通过接口调用。存过是在sql窗口的呀,plsql。
js14982 2019-12-20
  • 打赏
  • 举报
回复
直接放到存储过程里面会报错么? 存储过程是怎么执行的,通过job执行吗? 还是通过外部程序来执行

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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