展开全部

当然可以,就是在mysql存储过程中使用动态sql,就可以拼接sql,然62616964757a686964616fe58685e5aeb931333361323562后执行了。

给你复制一段,如果不满意,自己搜索 mysql 存储过程  动态sql 就可以了

DROP PROCEDURE IF EXISTS SearchByDoctor;

CREATE PROCEDURE  SearchByDoctor(

IN DoctorId VARCHAR(50),

IN deptId VARCHAR(50),

IN beginDate VARCHAR(20),

IN endDate VARCHAR(20),

IN StandDeptId VARCHAR(50),

IN OperationFlag VARCHAR(50),

IN SsczflId  VARCHAR(50),

OUT OperNum INT,

OUT AvgDangerIndex DOUBLE,

OUT OperGrCase INT

)

BEGIN

DECLARE cal1 VARCHAR(800);

DECLARE cal2 VARCHAR(800);

SET cal1="SELECT COUNT(1),AVG(DANGER_INDEX) INTO @para1,@para2  FROM yw_ssxxb WHERE 1=1 ";

SET cal2="SELECT COUNT(1) INTO @para3 FROM gr_grbw WHERE OPE_RELID IN (SELECT RELID FROM yw_ssxxb WHERE 1=1";

#拼接医生id

SET cal1=CONCAT(cal1," ","AND OPEDOC_ID = ","'",DoctorId,"'");

SET cal2=CONCAT(cal2," ","AND OPEDOC_ID = ","'",DoctorId,"'");

#拼接科室id

IF deptId <>'' THEN

SET cal1=CONCAT(cal1,"AND DEPT_ID =","'",deptId,"'");

END IF;

#拼接开始结束日期

IF beginDate<>'' AND endDate <>'' THEN

SET cal1=CONCAT(cal1," ","AND OPER_AT BETWEEN ","'",beginDate,"'"," AND ","'",endDate,"'");

END IF;

#拼接标准科室

IF StandDeptId<>'' THEN

SET cal1=CONCAT(cal1," ","AND DEPT_ID IN ( SELECT ID FROM department WHERE STAND_DEPT_ID = ","'",StandDeptId,"'",")");

END IF;

#拼接数据来源

IF OperationFlag <>'' THEN

SET cal1=CONCAT(cal1," ","AND OPEPARTKINDID IN (SELECT ID FROM zh_ssczfl WHERE FLAG= ","'",OperationFlag,"'",")");

END IF;

#拼接手术操作类别

IF SsczflId <> '' THEN

SET cal1=CONCAT(cal1," ","AND OPEPARTKINDID = ","'",SsczflId,"'");

END IF;

SET cal2 =CONCAT(cal2,")");

SET @sql1=cal1;

SET @sql2=cal2;

PREPARE stmt1 FROM @sql1;

EXECUTE stmt1;

DEALLOCATE PREPARE stmt1 ;

PREPARE stmt2 FROM @sql2;

EXECUTE stmt2;

DEALLOCATE PREPARE stmt2 ;

SET OperNum=@para1;

SET AvgDangerIndex=@para2;

SET OperGrCase=@para3;

END;

mysql存储过程是不是不能穿sql语句_mysql存储过程能不能直接执行拼接的sql语句...相关推荐

  1. mysql动态sql循环语句_mysql存储过程循环遍历sql结果集,并执行动态sql

    /* 将其他几张表数据复制到一张总表中 */ DROP PROCEDURE IF EXISTS sp_customer; CREATE PROCEDURE sp_customer() BEGIN -- ...

  2. mysql 存过 if语句_mysql存储过程 if 语句

    MySql的存储过程 存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句.而且,存 ...

  3. mysql中的逻辑类型如何定义_MYSQL存储过程即常用逻辑知识点总结

    Mysql存储过程 1.创建存储过程语法(格式) DELIMITER $ CREATE PROCEDURE 存储过程名A(IN 传入参数名a INT,IN 传入参数名b VARCHAR(20),OUT ...

  4. mysql存储过程给多个变量赋值_MySQL存储过程如何进行变量的定义和赋值

    昨天我们讲了mysql存储过程创建修改与删除,下面我们这篇教程是讲关于mysql存储过程中变量的定义赋值操作哦. 一.变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围 ...

  5. mysql创建用户表的sql语句_Mysql创建、删除用户和表的SQL语句

    Mysql创建.删除用户和表的SQL语句 (2015-01-15 17:08:17) 标签: it 联动北方 数据库 分类: IT MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意 ...

  6. mysql删除多表sql语句_Mysql删除多表及多表记录sql语句

    本文章总结了同时删除多个数据表与同时删除多个数据表的关系数据的方法,有需要的朋友可参考一下. 批量删除多表 删除所有pre_前缀的表 代码如下 复制代码 SELECT   CONCAT( 'drop ...

  7. mysql存储过程加多个创建表_mysql 存储过程创建多个表

    要创建64个表,听到这一需求,必然要用存储过程.直接上代码: DELIMITER $$ USE `table`$$ DROP PROCEDURE IF EXISTS `p`$$ CREATE DEFI ...

  8. mysql的预准备语句_mysql – 将字符串插入到没有”的预准备语句中

    查询参数只能取代文字值 – 即通常放置引用的字符串文字,引用的日期文字或数字文字.因此,字符串值将始终被解释为字符串文字,就像您使用单引号将其放入查询中一样. 对于列名,表名,SQL表达式,SQL关键 ...

  9. mysql C where语句_mysql – 在WHERE子句中使用substr的SELECT语句

    我这里有三个字段的样本表. TableA FieldA FieldB FieldC ====================================== 123XYZ456 XYZ John ...

最新文章

  1. js利用HTML5的拖拽API做流程图
  2. .NET Core Community 首个千星项目诞生:CAP
  3. python语句结束符_python中判断文件结束符的具体方法
  4. 每天进步一点点——Linux系统时间来处理
  5. maven构建Hibernate项目
  6. 一位年轻有为的企业家李先生
  7. Linux下MySQL起动报错The server quit without updating PID file
  8. python pop3_Python使用POP3和SMTP协议收发邮件
  9. 公式编辑器怎样使用具体图解
  10. rust-crate
  11. 去掉最高分和最低分的平均分trimmean,计算频率最高的那个数即众数mode.sngl,判断数据是否重复
  12. 怀孕计算机在线,【孕期天数计算器在线计算_孕期天数计算器在线计算专题】- 天鹅到家...
  13. 《刻意练习》读书笔记
  14. 用Vue-cli从头搭建项目
  15. OSI七层——物理层介绍和安全
  16. 用JavaScript实现一个简易计算器功能
  17. 网络空间搜索FOFA
  18. 图片生成base64格式
  19. 2021-04-05 c++程序设计原理与实践持续学习笔记:第三章对象、类型和值。
  20. iZotope RX 10 (专业的音频降噪修复软件) win/mac版

热门文章

  1. 用Java排序的五种有用方法
  2. 拥有成本分析:Oracle WebLogic Server与JBoss
  3. 两个数相乘积一定比每个因数都大_人教版五年级数学:因数、倍数与分数的整理与复习...
  4. 广州电子厂房净化工程_简述设计电子车间净化工程的注意要点
  5. java image 设置大小_如何在Java中调整BufferedImage的大小
  6. python怎么改字体_python,tkinter_Tkinter Label 如何改变Label中的文字样式,例如给文字加删除线,python,tkinter - phpStudy...
  7. C 运算符和语句总结
  8. C 语言精髓之变参函数
  9. 建德有没有计算机培训,建德计算机培训,建德计算机培训班,建德计算机培训完好找工作吗 - IT教育频道...
  10. php mysql crud demo_基于php和mysql的简单的dao类实现crud操作功能_PHP教程