`

MySQL 创建存储过程执行动态SQL

 
阅读更多

第一次使用mysql数据库创建存储过程 折腾了一番。

呵呵,不过还是挺值得的,折腾出来了,贴出来供大家看看。

 

 

写这个存储过程的目的是这样的, 我想通过执行此存储过程传递一个表的名称,然后它就能自动的统计出来表中第一列中的最大值。

 

#删除存储过程;
DROP PROCEDURE genBillsNoProc;

#创建存储过程;
DELIMITER $$ 
CREATE PROCEDURE genBillsNoProc(IN tableName VARCHAR(30),OUT data_t VARCHAR(100))
BEGIN 
DECLARE sql_1 VARCHAR(1000); 
DECLARE sql_2 VARCHAR(1000); 

SET sql_1  =  CONCAT("SELECT COLUMN_NAME into @colName FROM information_schema.COLUMNS WHERE table_name='",tableName,"' limit 0,1");
#执行sql_1SQL语句;
SET @frist_sql=sql_1; 
PREPARE stmt FROM @frist_sql; 
EXECUTE stmt; 

SET sql_2 = CONCAT("select max(",@colName,") into @sql_result from ",tableName);
#执行sql_2SQL语句;
SET @second_sql=sql_2; 
PREPARE stmt1 FROM @second_sql; 
EXECUTE stmt1; 

#设置返回结果;
SET data_t := @sql_result; 
END$$ 

 

下面是调用存储过程:

##执行存储过程 
CALL genBillsNoProc('t_dept',@data_t); 
SELECT @data_t maxValue;

 

执行结果:

maxValue;
104

分享到:
评论

相关推荐

    mysql创建存储过程实现往数据表中新增字段的方法分析

    主要介绍了mysql创建存储过程实现往数据表中新增字段的方法,结合实例形式对比分析了通过存储过程新增字段相关操作技巧,需要的朋友可以参考下

    mysql 查询存储过程的 sql 语句.docx

    创建存储过程需要使用 CREATE PROCEDURE 语句。以下是一个创建存储过程的示例: CREATE PROCEDURE GetCustomerOrders ( IN customerId INT ) CALL GetCustomerOrders(1234); 存储过程中使用变量: 可以在...

    mysql 查询存储过程的 sql 语句.7z

    创建存储过程需要使用 CREATE PROCEDURE 语句。以下是一个创建存储过程的示例: CREATE PROCEDURE GetCustomerOrders ( IN customerId INT ) CALL GetCustomerOrders(1234); 存储过程中使用变量: 可以在...

    MySQL存储过程中实现执行动态SQL语句的方法

    本文实例讲述了MySQL存储过程中实现执行动态SQL语句的方法。分享给大家供大家参考。具体实现方法如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE set_col_value -> (in_table VARCHAR(128), -...

    MySQL数据库:存储过程的创建1.pptx

    创建存储过程1 课程目标 1)了解 ——存储过程的优点; 2)理解 —— 存储过程的概念; 3)掌握 —— 存储过程的创建方法; 存储过程优点 使用存储过程的优点有: (1)存储过程在服务器端运行,执行速度快。 (2)...

    MySQL存储过程综述及如何使用Navicat创建存储过程

      在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是数据库中的一个重要对象,它是存储在数据库中的一组完成特定功能的SQL语句集。它第一次编译后,...

    MySQL5.0存储过程

    SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。...

    MySQL存储过程完整版使用代码示例

    资源包中囊括了MySQL数据库中的存储过程的使用包含的基本结构及日常所使用到的基本函数的使用【包括java端调用存储过程,创建临时表,动态执行sql语句,过程的递归调用,指针循环取数,批量创建表删除表,树状结构的...

    实验9 存储过程的创建和使用

    1.编写带输入参数的存储过程proc_St:在查询分析器中创建一个存储过程,要求输入学号和姓名-----即要求以学号(@SSno)和姓名(@SSname)为存储过程的输入参数(存储过程的参数名必须以@开头,每个参数都应当有数据...

    第11章MySQL存储过程与函数.docx

    创建存储过程的示例: CREATE PROCEDURE getnamebysno(in xh char(10), out name char(20)) BEGIN SELECT sname INTO name FROM student WHERE sno=xh; END; 调用该存储过程: CALL getnamebysno('1101'); 创建...

    sqlserver存储过程语法及实例

    创建存储过程 创建存储过程的基本语法是: ```sql CREATE PROCEDURE sp_name AS BEGIN -- 存储过程体 END ``` 其中,`sp_name` 是存储过程的名称。存储过程体是存储过程的核心,它定义了存储过程的逻辑。 调用...

    实验八 存储过程的使用(学生).doc

    本实验的目的是让学生掌握创建存储过程的基本方法,并学会使用 Transact-SQL 编写存储过程的方法。实验中,学生需要创建多个存储过程来完成不同的数据库操作,例如检索学生基本信息、检索成绩、插入记录、输出学生...

    mysql存储过程原理与使用方法详解

    存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 存储过程的优点 #1. 用于替代程序写的SQL语句,实现程序与sql解耦 #2. 可以通过直接修改存储过程的方式...

    mysql存储过程原理与用法详解

    存储过程存储了一系列sql语句,使得简化了操作,不要求重复执行一系列操作。只需要在需要的时候调用一下存储过程就行了。 一般来说,可以认为存储过程的功能与函数的功能类似(应该都学过函数吧),但只是要注意...

    2021年MySQL高级教程视频.rar

    16.MySQL高级存储过程创建调用查询删除语法.avi 17.MySQL高级存储过程语法变量.avi 18.MySQL高级存储过程语法if判断.avi 19.MySQL高级存储过程语法输入参数.avi 20.MySQL高级存储过程语法输出参数.avi 21.MySQL高级...

    存储过程教程

    2.SQL存储过程创建 3.sql存储过程及应用 4.各种存储过程使用指南 5.ASP中存储过程调用的两种方式及比较 6.SQL存储过程在.NET数据库中的应用 7.使用SQL存储过程要特别注意的问题 1.sql存储过程概述 在大型数据库...

    MySQL数据库:表的创建SQL语句.pptx

    表的创建-SQL语句 课程目标 掌握 —— 显示数据表文件和表结构的语法格式。 掌握 —— 创建数据表的语法格式; 表的创建 show tables; 说明:用于显示已经建立的数据库表文件 显示数据库表语法格式 表的创建 创建...

    MySQL存储过程概念、原理与常见用法详解

    本文实例讲述了MySQL存储过程概念、原理与常见用法。分享给大家供大家参考,具体如下: 1、存储过程的概念 在一些语言中,如pascal,...2、创建存储过程 create procedure procedureName() begin //--sql 语句 end$

    mysql存储过程之错误处理实例详解

    本文实例讲述了mysql存储过程之错误处理。分享给大家供大家参考,具体如下: 当存储过程中发生错误时,重要的是适当处理它,例如:继续或退出当前代码块的执行,并发出有意义的错误消息。其中mysql提供了一种简单的...

    MySQL系列—-存储过程、触发器

    MySQL系列—-存储过程、触发器存储过程创建一个存储过程,使得结果输出两个数的和执行存储过程,计算38加上26的和触发器在student表中创建删除触发器ctr_del查看触发器ctr_del的一般信息和文本信息删除学号为...

Global site tag (gtag.js) - Google Analytics