mysql 触发器 sql_mysql动态SQL的运用 (trigger、function、procedure)

2023-11-16

mysql中,当你在trigger、function中编写动态的sql时,编译时就会出现“Error 1336: Dynamic

SQL is not allowed in stored function or trigger“

trigger:触发器,在执行动作前后触发

function:方法,函数,可以在SQL、存储过程中调用

procedure:存储过程,可以编写比较复杂的逻辑

动态的SQL语句:就是单纯的SQL语句中,含有变量。

出现上述异常的原因就是:

1、 在function或者是trigger里面含有并执行了动态的SQL语句

2、 在function或者是trigger里调用了含有动态SQL语句的存储过程

=> 若单独在存储过程中执行动态的SQL语句是不会报错的,是允许的。

目前最新的mysql版本来说,function、trigger还是不支持动态sql语句,你硬要将动态语句写入trigger、function的话,我建议可以考虑写在存储过程中,然后用程序去调用存储过程。

我之所以写这文档,主要是我遇到了这问题,最后我就只能写存储过程了,具体demo如下:

CREATE DEFINER=`luo`@`%`

PROCEDURE `P_INSERT_ORIGINAL`(IN gatewayID

int,

in customerID long, in version varchar(40))

BEGIN

DECLARE isexist

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 触发器 sql_mysql动态SQL的运用 (trigger、function、procedure) 的相关文章

  • Linux系统图形界面,字符界面切换快捷键。启动图形界面服务。

    Ctrl Alt F3 启动字符界面 Ctrl Alt F7 启动图形界面 启动图形界面服务 cd etc init d service lightdm restart
  • 重装win8.1搜索不到 wifi

    这几天一直忙着研究装系统 毕竟自己是个小白 经常搞到深夜4点钟 今天终于算是有点眉目了 重新装完win8 1 电脑竟然搜索不到wifi 点开右下角那个图标 只有宽带连接这一个选项 于是到网上搜索 怎么解决 网上给了很多答案 基本都差不多 我
  • TCP/IP的三次握手、四次挥手

    本文通过图来梳理TCP IP协议相关知识 TCP通信过程包括三个步骤 建立TCP连接通道 传输数据 断开TCP连接通道 如图1所示 给出了TCP通信过程的示意图 上图主要包括三部分 建立连接 传输数据 断开连接 建立TCP连接很简单 通过三
  • Temporary failure in name resolution解决方法

    终端运行sudo su 输密码 vi etc reslov conf 输入i进入编辑模式 在文档末尾加入 nameserver 8 8 8 8 nameserver 114 114 114 114 按esc 输入 wq保存退出 执行 etc
  • 第八章 Oracle恢复内部原理(重置日志RESETLOGS)

    重置日志选项用于下列情形后的第一次打开数据库的时候 不完全恢复 基于备份控制文件的恢复 CREATE CONTROLFILE RESETLOGS 重置日志的最主要的作用就是丢弃不完全恢复中没有使用的重做日志并保证后续的恢复不再需要 为此 重
  • dll修复工具哪个比较好?修复工具介绍

    DLL 动态链接库 是Windows操作系统中非常重要的一部分 它们存储了各种软件应用程序所需的公共代码和数据 然而 随着时间的推移 电脑上的DLL文件可能会因为各种原因而损坏或丢失 导致系统出现错误 因此 修复DLL错误是一项非常重要的任
  • linux 下 C++ 与三菱PLC 通过MC Qna3E 二进制 协议进行交互

    西门子plc 有snap7库 进行交互 并且支持c 而且跨平台 但是三菱系列PLC并没有现成的开源项目 没办法只能自己拼接 我这里实现了MC 协议 Qna3E 帧 并使用二进制进行交互 pragma once include
  • HDU--1236:排名 (水题)

    1 题目源地址 http acm hdu edu cn showproblem php pid 1236 2 程序源代码 HOJ 1236 排名 include
  • 软件测试框架理论知识

    一 软件测试的定义 1 软件测试的目标应该服从于软件项目的目标 软件测试通过更高效的方法和工具 提高软件开发的效率和质量 2 在规定的条件下 对软件进行审核 运行 评估 验证软件系统是否满足需求规格说明书 3 预防 发现 跟踪软件缺陷 提高
  • Unity篇:加快unity导入工程速度-Cache server链接

    1 已有unity打开 编辑窗口选择点击edit edit下拉展示的列表里打开Preferences 2 选择Cache server界面 Cache server Mode 选择remote 举例 输入192 168 15 131或者19
  • 目标检测中的mAP(mean Average Precision)快速理解

    前言 最近开始接触目标检测 object detection 但是对于衡量算法好坏的mAP Mean Average Precision 并不太理解 经过了一番整理 下面我们就来看看什么是mAP 在目标检测算法中 像是Faster R CN
  • vue上下滑动(仿高德)

    效果图 需求 一个页面底部对应一块区域 底部的区域可以上下滑动到顶部 可以来回上下滑动延伸 如上所述 代码
  • C++实现行列式的相关操作

    目录 一 前言 二 行列式运算操作集 1 概览 2 行列式的定义 3 行列式的输出与输入 4 行列式行与行 列与列的相加 5 行列式的行交换与列交换 6 行列式的行提取公因数与列提取公因数 7 行列式系数清零恢复 8 判断一个行列式是否是三
  • 无须SMTP服务器中转直接将电子邮件发送到对方邮箱

    前言 大家一定熟悉Foxmail中的 特快专递 它能直接将电子邮件发送到对方的邮件服务器中 而不需要经过SMTP服务器中转 这样做有什么好处 第一 发送速度比较快 不需要等SMTP服务器对邮件进行查毒 派发 验证 第二 你可以及时掌握邮件是
  • Spring(一)之控制反转和依赖注入

    1 sts下载 https spring io tools3 sts all 参考博客 https blog csdn net m0 37920381 article details 79972438 2 简介 spring是一个开源框架
  • JQuery针对select下拉框的各项操作

    JQuery针对select下拉框的各项操作 select id change function code 为Select添加事件 当选择其中一项时触发 var checkText select id find option selecte
  • union(联合)注入和布尔注入

    没有很快乐 也没有不快乐 好像不该这样 但也只能这样 成长也许如此 行于奔溃边缘又慢慢自愈吧 网易云热评 一 union联合注入 1 select 1 2 3会生成一张临时表 表中的字段为查询的字段 内容也是查询的字段 2 select 1
  • 什么是Chat GPT?我们能用它来干啥?

    Chat GPT是一款基于人工智能技术的自然语言处理模型 由OpenAI团队开发 它能够通过机器学习技术从海量文本数据中学习语言知识 实现自然语言生成 对话生成和语言理解等功能 使得机器能够更加智能地理解和使用自然语言 Chat GPT的应
  • C++中的异常处理(一)

    异常就是运行时出现的不正常 例如运行时耗尽了内存或遇到意外的非法输入 异常存在于程序的正常功能之外 并要求程序立即处理 不能不处理异常 异常是足够重要的 使程序不能继续正常执行的事件 如果找不到匹配的catch 程序就调用库函数termin

随机推荐

  • OnGUI一些方法使用

    在OnGUI中有很多基本的UI组件 接下来我来为大家介绍一下这些组件的用法与使用 首先是在OnGUI中的两种布局方法 第一种GUILayout BeginVertical 这个方法就是在编辑菜单打开面板的时候对面板的一个纵向的设置 然而又开
  • 深入探究Qt HTTP的内部构架

    一 前言 当今互联网时代中 B S Browser Server 浏览器 服务器 以及C S Client Server 客户端 服务器 架构已经是绝对的主流软件架构设计方式 除了极少部分的单机软件 它们各有优缺点 这里我们不展开讨论 但是
  • 华为云 DevCloud 部署云服务器

    本文基于已购买的华为云服务于使用华为云IAM子账号编写 一 云服务器 在华为云管理界面点击左上方打开服务列表 点击弹性云服务器ECS 进入云服务器管理列表 注意 如果提示没有权限需使用主账号开发云服务器权限与云硬盘权限 如下图 在服务器管理
  • 如何输入带有空格的string字符串

    利用 getline cin string include
  • C语言程序设计期末大作业(学生信息管理系统)(可自取源码)

    高校学生信息管理系统 一 在高校学生管理系统中包含九个主要操作 退出系统 学生信息的录入 学生信息的打印 学生信息的保存 学生信息的读取 学生人数的统计 学生信息的查找 学生信息的修改 学生信息的删除 二 设计流程 首先确认用switch
  • VR资源浏览网站

    https my matterport com 资源 https my matterport com show m kCeVCzCjQ5s
  • 关于TextView和ImageView的背景及透明设置小结

    关于TextView和ImageView的背景及透明设置小结 关于ImageView的相关设置 设置背景颜色 ImageView setBackgroundColor android graphics Color parseColor f3
  • MySQL中Char和VarChar的区别

    VarChar VARCHAR类型用于存储可变长字符串 是最常见的字符串数据类型 它比定长类型更节省空间 因为它仅使用必要的空间 例如 越短的字符串使用越少的空间 有一种情况例外 如果MySQL表使用ROW FORMAT FIXED创建的话
  • linux开机自动挂载配置文件/etc/fstab

    如果我们想实现开机自动挂载某设备 只要修改 etc fstab文件即可 文件挂载的配置文件 etc fstab 查看此文件可知 每行定义一个要挂载的文件系统 其每行的格式如下 要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频
  • Go []byte to a C *char

    https stackoverflow com questions 35673161 convert go byte to a c char ok b buf Bytes rc C the function unsafe Pointer b
  • c语言的标识符可分为哪3种字符,c语言标识符有哪三类?

    在计算机编程语言中 标识符是用户编程时使用的名字 用于给变量 常量 函数 语句块等命名 以建立起名称与使用之间的关系 标识符通常由字母和数字以及其它字符构成 c语言标识符的分类 C语言中标识符有三类 分别是 关键字 预定义标识符和用户标识符
  • MyBatis中resultMap解决映射关系(多对一、一对多)

    一 多对一映射处理 查询员工信息以及员工所对应的部门信息 public class Emp private Integer eid private String empName private Integer age private Str
  • 神经网络matlab工具箱有关参数设置

    1 常见参数 net trainParam epochs 最大训练次数 net trainParam goal 训练要求精度net trainParam lr 学习速率net trainParam show 显示训练迭代过程net trai
  • 如何使用远程仓库进行团队合作

    前言 如若我们的远程仓库又有了一名新的开发者 这时 新的开发者需要拉取远程仓库与其他开发者合作 文章目录 如何拉取远程仓库到本地仓库 git方法 clone远程分支 获取远程其他分支 Tortoise Git方法 clone远程分支 VS2
  • K8S部署前后端分离项目并支持Mysql和Redis数据持久化保存

    Springboot Vue Mysql Redis 文章目录 前端 1 default conf文件 2 创建Dockerfile 生成镜像 依赖nginx挂载配置文件 3 执行完以上步骤后 进行build tag push远程仓库 4
  • 软件质量管理-考试复习总结

    1 软件工程发展 软件开发的四大本质难题 不可见性 复杂性 一致性 可变性 除了不可见性以外 其他三个本质难题因项目而异 四大本质难题互动促进 可以缓解 但是不能彻底解决 软件危机 落后的软件生产方式无法满足迅速增长的计算机软件需求 从而导
  • cartographer-ros阅读梳理(一)数据接收部分

    一 前言 前段时间去忙了些杂活项目 调调代码测测算法 这几天闲下来准备硕士开题的事情 SLAM方面能开展的工作大家都大同小异 之前在梳理实验室程序的时候遇到一些阻碍 有一部分是引用的cartographer的东西 师兄把那部分的代码阉的千奇
  • upload-labs靶场-Pass-04关-思路以及过程

    开始前的小准备 upload labs靶场 是PHP环境运行的 所以我准备了一个PHP脚本和一张图片 图片好准备 PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本 还需要准备一个 htaccess下面的 脚本 是你上传文件的名
  • Python+Selenium- 环境搭建

    一 Selenium 简介 Selenium是目前最流行的web自动化测试工具 也常用于网络爬虫 已经更新到3以上的版本 1 组件 它提供了以下web自动化测试组件 Selenium IDE Firefox浏览器的一个插件 提供简单的脚本录
  • mysql 触发器 sql_mysql动态SQL的运用 (trigger、function、procedure)

    mysql中 当你在trigger function中编写动态的sql时 编译时就会出现 Error 1336 Dynamic SQL is not allowed in stored function or trigger trigger