简释下oracle的set define的使用场景

我们在使用oracle的时候,有些菜单表存在url字段,url字段中存在这&字符。但我们通过sql语句进行插入表记录的时候,数据库会提示要我们输入变量值。这个时候有些人难免会不知所措,今天告诉大家一个非常简单的办法解决。

一、问题现象

如果我们输入一个值100,我们看下数据表的url字段:

可以看到我们的url变成了我们完全不想要的值。

二、问题解决

在oracle SQL*PLUS中,'&'为一个特殊字符,它代表替代变量。也就是说,如果在命令中出现该符号,该字符及其后面对应的变量组成一个可以由用户输入的替代变量。用户输入值后,原有语句中的对应变量将会由输入值替代。上图中,我们输入值100,最终,&name被100替代,导致我们的url字段值发生变化。

我们可以通过SQL*PLUS中的set define off命令关闭替代变量功能。

当然,也可以通过set define on开启替代变量功能。

set define 将默认替代变量由'\&'变为''。

下面我们关闭默认替代变量功能,解决之前遇到的问题.

可以看到,url字段值被正确插入。

相关推荐
m0_7349497918 小时前
MySQL如何配置定时清理过期备份文件_find命令与保留周期策略
jvm·数据库·python
m0_5145205719 小时前
MySQL索引优化后性能没提升_通过EXPLAIN查看索引命中率
jvm·数据库·python
NaMM CHIN19 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
不瘦80斤不改名19 小时前
深入浅出 MySQL(一):一文理清 SQL 核心规范与五大分类
数据库·sql·mysql
woniu_buhui_fei19 小时前
MySQL知识整理二
数据库·mysql
Polar__Star20 小时前
如何在 AWS Lambda 中正确使用临时凭证生成 S3 预签名 URL
jvm·数据库·python
Lucifer三思而后行20 小时前
zCloud 中 Oracle 实例状态未知问题记录
数据库·oracle
island131420 小时前
最详细VMware Workstation 17 上安装 Ubuntu 系统
linux·数据库·ubuntu
卢傢蕊20 小时前
MongoDB
数据库·mongodb
m0_7436239220 小时前
React 自定义 Hook 的命名规范与调用规则详解
jvm·数据库·python