最近开发一个项目用到mysql,其中有的过程想用存储过程实现,但是在使用存储过程的时候,发现不能直接外部传递表名,列名等参数,需要用到动态拼接字符串的模式才能实现,放个例子在这里,便于以后开发的时候用到:
addtable 为外部传入的in变量,我这里是传递的表名:
BEGIN
#用于存储sql拼接后语句的字符串变量
DECLARE v_sql varchar(1024) DEFAULT '0';
#给字符串赋值,使用mysql函数CONCAT把拼接的字符串合成一个字符串,赋值给变量。
SET v_sql=CONCAT('select * from ', addtable ,' limit 0,10');
#PREPARE语句用于预备一个语句
SET @lastdata = v_sql;
PREPARE lastdata FROM @lastdata;
#execute函数是用于执行已经预处理过的语句
EXECUTE lastdata;
END
通过上述方法可以传递表名,列名等,我们就可以写出比较功能强大的存储过程了
分享到:
相关推荐
本文将深入讲解如何在MySQL存储过程中使用参数传入表名,并通过示例来说明其具体实现。 首先,我们来看存储过程的基本结构。存储过程由`BEGIN`和`END`关键词包围,中间包含了各种SQL语句。在本例中,存储过程的目的...
### MySQL存储过程:批量操作的高效利器 #### 一、MySQL概述 MySQL 是一个非常流行的开源关系型数据库管理系统(RDBMS),它以其强大的功能、可靠性和灵活性在Web应用程序领域中占据着重要的地位。MySQL 基于结构...
具体来说,我们可以使用 MySQL 的C API来将二进制数据作为参数传递给存储过程,然后使用存储过程来处理和访问这些数据。 基于存储过程的MySQL数据库BLOB字段访问可以使得数据库的二进制数据处理变得更加方便和高效...
MySQL存储过程是数据库中用于执行一组特定操作的预编译的SQL语句集合。它们允许开发人员封装复杂的逻辑,提高代码复用性和数据库操作效率。在动态SQL中获取返回值是存储过程的一个重要功能,尤其在处理不确定的数据...
在这个存储过程中,用户可以传递任意字符作为参数`search_str`,然后该过程会在所有数据库的每个表的所有字段中查找匹配的字符。如果找到匹配,它将打印出匹配的数据库、表和字段信息。 调用这个存储过程如下: ``...
### 定时备份MySQL数据库时间戳命名实例 在IT领域,数据备份是一项至关重要的工作,尤其是在数据库管理中。本文将详细介绍一种通过脚本实现MySQL数据库定时逻辑备份的方法,并结合时间戳进行文件命名,确保每次备份...
在Kettle8中,模拟表输入查询表名并使用变量是一项常见的数据处理任务,它涉及到工作流中的动态数据源选择和参数化。Kettle8,也称为Pentaho Data Integration (PDI),是一款强大的ETL(提取、转换、加载)工具,...
以下将详细介绍在MySQL存储过程中执行动态SQL语句的方法。 1. **声明变量**: 在MySQL存储过程中,首先需要声明一个变量来存储我们的动态SQL语句。例如,声明一个VARCHAR类型的变量`my_sql`,用于保存即将执行的...
MySQL中的视图、触发器和存储过程是数据库管理系统中非常重要的功能,它们分别在数据抽象、数据操作自动化和批量处理方面发挥着关键作用。 **视图(View)** 视图是一种虚拟表,它并不实际存储数据,而是由一个...
### MySQL中存储过程与函数的关键知识点 #### 一、存储过程与函数概述 在MySQL中,存储过程和函数是预编译的SQL代码块,它们能够实现更复杂的业务逻辑处理,提高应用程序性能并增强安全性。存储过程可以在多条SQL...
`prc_page_result`存储过程接受多个参数,包括当前页码(`currpage`)、列名(`columns`)、表名(`tablename`)、筛选条件(`sCondition`)、排序字段(`order_field`)、升序或降序标识(`asc_field`)、主键字段...
在建立连接时,可以通过传递额外的参数来设置各种选项,例如超时时间、字符集等。这些选项可以提高应用程序的灵活性和可配置性: ```cpp conn.connect("host=localhost;user=root;passwd=password;db=test;connect_...
调用存储过程的标准语法是使用 CALL 语句并传递必要的参数。 ### 10. 触发器创建位置 10. 触发器创建在()上。 a) 视图 b) 表 c) 数据库 d) 查询 **答案解析**: **b) 表**。触发器是一种特殊类型的存储过程...
在开发过程中,我们经常需要自动创建数据库来存储和操作数据。 在“SSH+MySQL demo 数据库自动创建”中,我们将探讨如何在SSH框架下,结合MySQL数据库,实现数据库的自动化创建。这涉及到以下关键知识点: 1. **...
在上面的命令中,我们将字段值 '张三' 传递给存储过程,存储过程将查询所有表中是否存在该字段值,并将结果插入到 TMPTABLE 中。 在 TMPTABLE 中,我们可以查询到包含该字段值的所有表名。例如: ```sql select * ...
##### 6.4 使用选项文件传递参数 除了通过命令行直接输入参数外,用户还可以将参数写入文本文件中,并通过 `--options-file` 参数来指定该文件。这种方式便于管理和复用复杂的参数组合。 ##### 6.5 使用工具 ...
最后,Java程序调用这个Python脚本,传递配置文件路径作为参数,从而实现MySQL到ODPS的数据同步。在实际应用中,可能还需要考虑错误处理、日志记录、资源释放等细节问题,以确保任务的稳定性和可维护性。 综上所述...
**JSP+MySQL+中文处理**是Web开发中常见的需求,特别是在处理中文数据时,需要注意字符编码的统一和兼容性,以确保数据的正确存储和显示。以下将详细阐述涉及的几个关键知识点。 首先,**MySQL数据库配置**是处理...