【发布时间】:2018-11-03 06:52:01
【问题描述】:
我正在尝试编写一个用于 SQL 的 SQL 脚本,并使用在运行时定义的替换变量。有没有办法主动逃避任何进来的特殊字符?
例如,如果变量中有一个 ' ,它将立即中断脚本中正在运行它的任何行
ORA-01756: quoted string not properly terminated
错误,因为我没有完成报价或过早完成。我只是想让它把变量当作一个字符串。有没有办法告诉 Oracle 只按字面意思对待字符来设置字段或类似内容?
在我的具体案例中,我想制作一个通用案例脚本,通过提示输入用户、旧密码和新密码来更改密码。
connect &&myuser/&&oldpass@mydb;
alter user &&myuser identified by &&newpass replace &&oldpass;
如果旧密码或新密码包含特殊字符,它可能会因多种原因而中断,包括我上面遇到的问题。
【问题讨论】: