`
刘宗才
  • 浏览: 33839 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql存储过程中使用变量批量修改数据

 
阅读更多
BEGIN
declare i int;#查找表的列数
declare column_name_temp varchar(100);##查找表的列名
DECLARE column_un_change varchar(100);
DECLARE table_temp_name varchar(100);
declare description varchar(100);
declare code varchar(100);
set column_un_change = 'OTHER_INCOME';
set description='description';
set code = 'code';
set table_temp_name  = 'wy_notebill_detail2';

######################查找表的列名存储到临时表###################
drop table if EXISTS update_column;
create temporary table update_column (a INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (a))
TYPE = MyISAM
SELECT column_name from information_schema.`COLUMNS` where table_name = table_temp_name and column_name not in(column_un_change,description,code) and data_type not in ('date','datetime');
#######################统计列数量####################
SELECT count(*) into i from update_column;
SELECT i;
loop1: WHILE i>2 DO  
##########################给变量赋值列名#######################
SELECT column_name into column_name_temp from update_column where a = i;
SET i=i-1;  
#########################更新表的数据##########################
set @sqls=concat('update ',table_temp_name ,' set ',column_name_temp,' = 0');
PREPARE stmt1 from @sqls;
EXECUTE stmt1 ;
END WHILE loop1;  
#SELECT * from wy_notebill_detail;
END
分享到:
评论

相关推荐

    MySQL存储过程.rar

    在实际应用中,MySQL存储过程广泛用于实现数据库的事务处理、数据备份和恢复、业务规则的封装等场景。例如,可以创建一个存储过程来批量插入数据,或者在一组操作失败时自动回滚事务,保证数据一致性。 在提供的...

    MySQL实现创建存储过程并循环添加记录的方法

    创建存储过程并循环添加记录是数据库管理中的常见任务,尤其是在需要批量插入数据时。以下将详细解释如何在MySQL中实现这一功能。 首先,我们需要了解存储过程的基本创建方法。在MySQL中,我们使用`CREATE ...

    MySQL存储过程入门学习

    通过本文的学习,我们了解了MySQL存储过程的基础概念、创建方法、调用方式以及如何使用参数来增强其灵活性和功能性。存储过程不仅可以帮助开发者简化复杂操作,还能提高应用程序的性能和安全性。随着进一步的学习和...

    MySQL存储过程pdf

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预定义一组SQL语句,并将它们封装成一个可重用的对象。在MySQL5.x版本中,存储过程提供了更高效、更安全的方式来管理和执行复杂的数据库操作。本PDF...

    中文版MySQL5之存储过程技术手册

    此外,MySQL还支持局部变量和游标,使得在存储过程中处理数据更加灵活。 在性能优化方面,存储过程可以通过缓存执行计划来提升数据库性能。然而,也需要注意过度使用存储过程可能带来的问题,如代码重复、调试困难...

    mysql存储过程(2)

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一组SQL语句并封装成一个可重复使用的对象。在“mysql存储过程(2)”这个主题中,我们可能涉及了存储过程的进阶概念、创建与管理以及它们在实际...

    MySQL5.0存储过程

    MySQL5.0存储过程是数据库管理系统MySQL中的一个重要特性,它允许开发者定义一组SQL语句,形成一个可重复使用的代码块,以实现特定的功能。在数据库系统中,存储过程可以提高性能,减少网络流量,增强安全性,并提供...

    MySQL批量添加数据脚本

    1. **定义分隔符:**首先通过`delimiter $$`命令临时改变默认的分隔符为`$$`,这样可以在存储过程中使用分号作为语句的一部分。 2. **创建存储过程:**使用`CREATE PROCEDURE prea()`命令创建名为`prea`的存储过程。...

    MySQL存储过程

    - 避免在循环中使用SELECT语句,尽可能批量处理数据。 - 合理设计参数,减少不必要的参数传递。 - 使用索引和优化SQL语句提升执行效率。 9. **注意事项** - 存储过程中的变量作用域仅限于过程内部,不能直接与...

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

    以下将详细解释如何在MySQL存储过程中执行动态SQL语句。 首先,我们来看一个简单的例子: ```sql DROP PROCEDURE IF EXISTS my_procedure; CREATE PROCEDURE my_procedure() BEGIN DECLARE my_sql VARCHAR(500); ...

    用SQL批量插入数据的存储过程

    循环插入: 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter < 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_...

    mysql游标存储过程例子

    该存储过程展示了如何在MySQL中使用存储过程结合游标来高效处理大量数据,同时通过异常处理机制来确保数据处理的安全性。此外,还涉及到了日期操作、临时表的使用等实用技术。这对于处理复杂的业务逻辑非常有用,...

    MySQL 5.0存储过程

    在MySQL中,你可以使用`CREATE PROCEDURE`语句来创建一个存储过程,例如: ```sql CREATE PROCEDURE procedure_name (IN param1 datatype, OUT param2 datatype, INOUT param3 datatype) BEGIN -- SQL statements ...

    在Mysql存储过程中使用事务实例

    以下是对在MySQL存储过程中使用事务的详细说明: 1. **创建存储过程**: 在给出的示例中,创建了一个名为`createBusiness`的存储过程,它接受一个整型参数`parameter1`。存储过程的定义使用`CREATE PROCEDURE`语句...

    mysql 存储过程判断重复的不插入数据

    总结来说,这个MySQL存储过程展示了如何在不使用`IF EXISTS`的情况下判断表中是否存在特定的值,并根据判断结果执行相应的操作。它适用于需要检查数据唯一性的场景,例如避免重复的书籍记录。在实际应用中,可以根据...

    MySQL 5.5 服务器变量详解

    - **定义**: 控制MySQL事务是否在每次执行数据修改语句后自动提交。设置为1时,每条修改语句(如 INSERT、UPDATE 或 DELETE)都会立即提交;设置为0则需要通过 `COMMIT` 命令显式提交。 - **作用范围**: 全局或会话...

    MySql存储过程动态建表.doc

    MySQL存储过程是数据库管理系统提供的一种高级程序设计语言,允许用户在数据库中定义一系列复杂的操作,如数据处理、事务控制等。动态建表是指在运行时根据特定条件或变量创建表格,这种能力在处理多变的数据结构...

    MySQL5新特性之存储过程.rar

    在MySQL5中,使用`CREATE PROCEDURE`语句来创建存储过程。例如: ```sql CREATE PROCEDURE proc_name (IN param1 datatype, OUT param2 datatype, INOUT param3 datatype) BEGIN -- SQL语句 END; ``` 这里的`proc_...

Global site tag (gtag.js) - Google Analytics