mysql存储过程实例

mysql存储过程

代码如下:

delimiter $

DROP FUNCTION IF EXISTS `fun_convert`$

CREATE DEFINER=`root`@`%` FUNCTION   `fun_convert`(para varchar(255))

RETURNS varchar(255) CHARSET gbk

BEGIN

declare   result varchar(255) default '';

declare   cnt int default 0;

declare   i int default 0;

declare   id BIGINT default 0;

set   cnt = length(para) - length(replace(para,',',''))-1;

WHILE   i < cnt DO

select c.id into id from company c where c.code =   SUBSTRING(para,i*3+2,2);

set   result = CONCAT(result, ",",id);

set   i = i+1;

end   WHILE;

set   result = CONCAT(result, ",");

RETURN   result;

END

$

delimiter ;

update users u set u.company =   fun_convert(u.COMPANY);

(0)

相关推荐

  • asp.net 结合mysql存储过程进行分页代码

    不过在网上找了一些,发现都有一个特点--就是不能传出总记录数,干脆自己研究吧.终于,算是搞出来了,效率可能不是很好,但是我也觉得不错了.贴代码吧直接:也算是对自己学习mysql的一个记录. 复制代码 代码如下: CREATE PROCEDURE p_pageList ( m_pageNo int , m_perPageCnt int , m_column varchar(1000) , m_table varchar(1000) , m_condition varchar(1000), m_or

  • Mysql存储过程中游标的用法实例

    本文实例讲述了Mysql存储过程中游标的用法.分享给大家供大家参考.具体如下: 1. 批量插入商户路由关联数据: DELIMITER $$ USE `mmm_mac`$$ DROP PROCEDURE IF EXISTS `批量插入商户路由关联数据`$$ CREATE DEFINER=`root`@`%` PROCEDURE `批量插入商户路由关联数据`() BEGIN DECLARE v_partner_no VARCHAR(32); DECLARE v_partner_id INT(11);

  • C#中常用的分页存储过程小结

    表中主键必须为标识列,[ID] int IDENTITY (1,1)//每次自增一 1.分页方案一:(利用Not In和SELECT TOP分页) 语句形式: 复制代码 代码如下: SELECT TOP 10 * FROM TestTable WHERE (ID NOT IN (SELECT TOP 20 id FROM TestTable ORDER BY id)) ORDER BY ID SELECT TOP 页大小 * FROM TestTable WHERE (ID NOT IN (SE

  • C#获取存储过程返回值和输出参数值的方法

    1.获取Return返回值 复制代码 代码如下: //存储过程//Create PROCEDURE MYSQL//     @a int,//     @b int//AS//     return @a + @b//GOSqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());conn.Open();SqlCommand MyC

  • C#调用Oracle存储过程的方法

    本文实例讲述了C#调用Oracle存储过程的方法.分享给大家供大家参考.具体实现方法如下: Oracle数据库代码如下: 复制代码 代码如下: create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2) as   varparam varchar2(28); begin   varparam:=paramin;   paramout:=va

  • C#中调用MySQL存储过程的方法

    本文实例讲述了C#中调用MySQL存储过程的方法.分享给大家供大家参考.具体如下: 这段代码演示在 C# 程序中调用 MySQL 的存储过程,没有返回值,没有参数传递. MySqlConnection myConnection; myConnection = new MySqlConnection(); myConnection.ConnectionString = "database="+database+";server="+ server+";use

  • C#中如何执行存储过程方法

    功能 :  根据调用的方法名称  反射动态调用  sql Command 的方法 复制代码 代码如下: /// <summary>    /// 存储过程的属性     /// ProcName 存储过程的名称    /// MethodName 执行SqlCommand 方法的名称    /// PrmList 存储过程的参数    /// </summary>    public class ExeProc    {        public string ProcName;

  • C#调用sql2000存储过程方法小结

    本文实例总结了C#调用sql2000存储过程方法,分享给大家供大家参考.具体实现方法如下: 调试环境:VS.NET 2005,SQL 2000,WINDOWS XP sp2. 语言:C# 一.调用带输入参数的存储过程 首先自然是在查询分析器里创建一个存储过程喽~~   如下所示: 复制代码 代码如下: create proc proc_1 @uid int, @pwd varchar(255) as select UserName from users where uid = @uid and

  • c#中两种不同的存储过程调用与比较

    存储过程的调用在B/S系统中用的很多.传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护.新的方法在一定程度上解决了这些问题. 在使用.NET的过程中,数据库访问是一个很重要的部分,特别是在B/S系统的构建过程中,数据库操作几乎成为了一个必不可少的操作.调用存储过程实现数据库操作使很多程序员使用的方法,而且大多数的程序员都是能使用存储过程就使用存储过程,很少直接使用SQL语句,所以存储过程是很有用而且很重要的. 存储过程简介 简单的说,存储过程是由一些SQL语句和控制语句组

  • php调用mysql存储过程实例分析

    本文实例分析了php调用mysql存储过程的方法.分享给大家供大家参考.具体分析如下: Mysql存储过程创建语法,代码如下: CREATE PROCEDURE和CREATE FUNCTION : 复制代码 代码如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]])       [characteristic ...] routine_body   CREATE FUNCTION sp_name ([func_parameter[,...]])

  • java调用mysql存储过程实例分析

    本文实例讲述了java调用mysql存储过程的方法.分享给大家供大家参考.具体如下: 数据库的测试代码如下 : 1.新建表test create table test( field1 int not null ) TYPE=MyISAM ; insert into test(field1) values(1); 2.删除已存在的存储过程: -- 删除储存过程 delimiter // -- 定义结束符号 drop procedure p_test; 3.mysql存储过程定义: create p

  • mysql存储过程实例

    mysql存储过程 复制代码 代码如下: delimiter $ DROP FUNCTION IF EXISTS `fun_convert`$ CREATE DEFINER=`root`@`%` FUNCTION   `fun_convert`(para varchar(255)) RETURNS varchar(255) CHARSET gbk BEGIN declare   result varchar(255) default ''; declare   cnt int default 0

  • mysql存储过程中使用游标的实例

    复制代码 代码如下: DELIMITER $$ DROP PROCEDURE IF EXISTS getUserInfo $$ CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- MYSQL存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08--    BEGINdeclare _userName varchar(12); -- 用户名declare _chinese int ; -

  • MySQL存储过程使用实例详解

    例1.一个简单存储过程游标实例 复制代码 代码如下: DELIMITER $$ DROP PROCEDURE IF EXISTS getUserInfo $$CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08--    BEGINdeclare _userName varchar(12); -- 用户名declare _chine

  • Mybatis应用mysql存储过程查询数据实例

    1.创建mysql存储过程,这是个复杂查询加上了判断,比较复杂 CREATE PROCEDURE searchAllList ( IN tradingAreaId VARCHAR (50), IN categoryName VARCHAR (100), IN intelligenceSort TINYINT UNSIGNED, IN priceBegin DOUBLE, IN priceEnd DOUBLE, IN commodityName VARCHAR (200), IN flag TIN

  • mysql存储过程用法实例分析

    本文实例讲述了mysql存储过程用法.分享给大家供大家参考,具体如下: 概述: 简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法: 存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用: 示例 DELIMITER // CREATE PROCEDURE proc (IN num INT) BEGIN SELECT * FROM v9_qd_account limit num;

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

    本文实例讲述了mysql存储过程之错误处理.分享给大家供大家参考,具体如下: 当存储过程中发生错误时,重要的是适当处理它,例如:继续或退出当前代码块的执行,并发出有意义的错误消息.其中mysql提供了一种简单的方法来定义处理从一般条件(如警告或异常)到特定条件(例如特定错误代码)的处理程序.完事我们来使用DECLARE HANDLER语句来尝试声明一个处理程序,先来看语法: DECLARE action HANDLER FOR condition_value statement; 上述sql中,

  • mysql存储过程之引发存储过程中的错误条件(SIGNAL和RESIGNAL语句)实例分析

    本文实例讲述了mysql引发存储过程中的错误条件(SIGNAL和RESIGNAL语句).分享给大家供大家参考,具体如下: 在mysql中,我们可以使用SIGNAL和RESIGNAL语句来引发存储过程中的错误条件. 先来看,SIGNAL语句.我们通常使用SIGNAL语句在存储的程序(例如存储过程,存储函数,触发器或事件)中向调用者返回错误或警告条件. SIGNAL语句提供了对返回值(如值和消息SQLSTATE)的信息的控制.来看下它的语法结构: SIGNAL SQLSTATE | conditio

随机推荐