mysql存储过程参数与属性同名问题_存储过程中参数与表名相同的二义性问题

写了一个很简单的存储过程,发现执行了,但是表的数据没有改变,存储过程如下:

procedure sp_upd_update_jsgl(mc in varchar2,--名称

sm in varchar2--说明

)

is

begin

update jsgl set sm=sm where mc =mc ;

end

where后面的名称执行的时候mc=mc并不是jsgl.mc=mc 而是和1=1一样的参数,而参数mc和jsgl.mc产生了二义性,所以后面的参数修改成了jsgl.mc=mc

这个存储过程就变成了这样

procedure sp_upd_update_jsgl(mc in varchar2,--名称

sm in varchar2--说明

)

is

begin

update jsgl set sm=sm where jsgl.mc =mc ;

end ;

但是这里的sm这个字段并没有改变 ,存储过程却是执行完成了,但是考虑到set后面的语句前面是表名,后面是参数,应该不会存在问题的。其实这里还是一样有问题,只是这个条件等同于jsgl.sm=jsgl.sm,这样update执行成功了,但是值却没有被修改。

也就是说我们写的第一个存储过程是等于下面的一条语句

procedure sp_upd_update_jsgl(t_mc in varchar2,--名称

t_sm in varchar2--说明

)

is

begin

update jsgl set jsgl.sm=jsgl.sm where t_mc =t_mc ;

end ;

这样的语句是成功了,但是值修改的时候还是原来的值而且这个update等同于 update jsgl set jsgl.sm=jsgl.sm where 1=1是一样的 where 根本没有起作用

所以要切记切记,存储工程参数名一定不要和表名相同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2017美国人工智能和机器学习行业种子投资首次下降

来源:199IT互联网数据中心根据Crunchbase的数据,风险投资对机器学习和人工智能的热情已经开始趋于平静,至少在美国是这样。但这可能并不是一件坏事。尽管人工智能和机器学习成为学术研究的热点领域已经有数十年了,但是尚未成为风险…

Java加密与解密的艺术~AES实现

AES算法成为DES算法的替代者,其实现也成为其他对称加密算法实现的参考模型。 AES 实现 /*** 2009-10-5*/ package org.zlex.chapter07_3;import java.security.Key;import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey;…

AUTOSAR从入门到精通-存储配置(NvM)(二)

目录 前言 原理 NVM与其他模块之间的关联 NVM的组成 Block的三种管理类型 NV Block与RAM Block之间的数据同步(读出与写入) NvRam Block与Nv Block的mapping接口

利用多核多线程进行程序优化

利用多核多线程进行程序优化2008 年 11 月 17 日 大家也许还记得 2005 年 3 月 C 大师 Herb Sutter 在 Dr.Dobb’s Journal 上发表了一篇名为《免费的午餐已经结束》的文章。文章指出:现在的程序员对效率、伸缩性、吞吐量等一系列性能指标相当忽视,很多性…

DOS 批处理

From: http://www.jb51.net/article/97204.htm From: http://www.92to.com/bangong/2016/04-08/2998914.html 百度文库:目前为止最全的批处理教程 批处理经典入门教程 批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。 批处理,也称…

python range 步长为负数_Python入门第7课,循环结构学习,for语句range函数的3种用法...

上课前,大陈带领学生们一起回顾和梳理前面学过的知识。体验课,Python与人工智能初体验。第1课,输出语句及赋值语句。第2课,输入语句学习。第3课、第4课,学习条件控制if语句。第5课、第6课,阶段练习及讲解。…

机器学习,就用Python!五大专家详解其优势何在

编译 :AI科技大本营(公众号ID:rgznai100)那么,为什么 Python 语言在机器学习领域会如此受欢迎?Python 领域资深专家 Mike Driscoll 组织了一次访谈会,邀请了五位 Python 专家和机器学习社区人士…

WinCE 5.0 virtual memory space

要深入了解WinCE的memory结构,就不得不在这里先画个virtual memory space的图。这个图是针对WinCE 5.0的。由于WinCE 6的结构做了很大变化,关于WinCE 6的内容将在以后介绍。 关于这个图的来源,有两点要说明。其一,绘制这个图的…

硬件安全 (1) —— SHA-1算法在FPGA上的实现

SHA-1 算法在FPGA上的实现 - 1 背景介绍 散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数…

Java加密与解密的艺术~RSA模型分析

我们仍以甲乙两方收发消息为例。为完成加密消息传递,甲乙双方需要以下操作: 1)、由消息发送方(甲方)构建密钥对。 2)、由消息发送方(甲方)公布公钥至消息接收方(乙方&…

jmp连mysql_令人迷惑的ATT的jmp:直接跳转和间接跳转 [转]

最近看链接器源码中,对位置无关代码PIC(共享库)的链接问题,发现对call和jmp很多不常用的用法,这里试验并总结了一下各种用法。我们最常用的jmp形式,就是 jmp后面跟个标签!这个没什么可说的!假如标签叫做myl…

区分关联、依赖和聚集关系

在建立对象模型时,很容易把依赖、关联和聚集关系混淆。当对象A和对象B之间存在依赖、关联或聚集关系时,对象A都有可能调用对象B的方法,这是三种关系之间的相同之处,除此之外,它们有着不同的特征。 1.依赖关…

MarkDown 语法手册

From: https://blog.csdn.net/witnessai1/article/details/52551362 From: http://www.jianshu.com/p/1e402922ee32/ 菜鸟教程:Markdown 教程:https://www.runoob.com/markdown/md-tutorial.html Markdown 语法手册:https://www.zybuluo.com…

硬件安全(1)—— SHA-1算法在FPGA上的实现-2

SHA-1算法在FPGA上的实现-2 在上一篇文章中&#xff0c;我详细介绍了SHA-1算法的计算过程。SHA-1算法主要由消息填充(Message Padding)和哈希计算(Hash Function Engine)两部分组成。消息块标准长度规定为512bits一组。消息填充在实现过程中需要区分长度不足一个消息块( < …

Mysql -uroot -p 登陆不上_mysql的登陆和退出命令格式

mysql登陆的命令格式为&#xff1a;mysql -h [hostip] -u [username] -p [password] [database]1.普通登陆mysql数据库命令格式&#xff1a;mysql -u 用户名 -p 密码&#xff0c;例如: mysql -u root -p root如果在-p后没有提供密码&#xff0c;则会在执行命令后要求用户输入密…

Java加密与解密的艺术~RSA实现

RSA 实现 /*** 2008-6-11*/ package org.zlex.chapter08_2;import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import …

Eclipse Ant组件出现unable to find a javac compiler的解决方法

解决方法是在一个外国人的blog上看来的&#xff0c;记到我的博客方便大家搜索&#xff0c;呵呵。该作者解释原因是Ant不能和JRE一起使用&#xff0c;而需要使用JDK来作为Runtime JRE, 但是这个原因似乎也不是真正的原因&#xff0c;只是这个方法可以解决问题&#xff0c;解决方…

IBM发布未来五年五大科技预测

来源&#xff1a;人工智能和大数据未来五年五大科技预测之AI偏见&#xff1a;AI 偏见将会爆发。但只有公正的 AI 才能生存。 5年之内&#xff0c;有偏见的AI系统和算法将不断增多&#xff0c;就像早前的计算机病毒增多一样。但我们将采取相应的应对措施&#xff0c;提出新的解决…

今天开始学OpenWRT - 21/03/8

背景简介 OpenWRT是一个运行在嵌入式设备上的Linux操作系统。相较于之前简单的、固化的路由器系统&#xff0c;OpenWRT提供了一个完整的可编写的文件系统&#xff0c;包括安装包管理。这使用户从供应商提供的应用程序选择和配置中解放出来&#xff0c;并允许用户通过使用软件包…

mysql root mysqld_MySQL how to run mysqld as root

场景版本5.6.44&#xff0c;[ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!此处 mysql是出于安全考虑&#xff0c;默认拒绝用root账号启动mysql服务。解决1.通过在命令后面加上--userroot 进行强制使用…