-
mysql的存储过程20
mysql的存储过程:
创建存储过程 create procddure it() select 'hello'; 创建了一个存储过程
call it(); 调用存储过程
就会这点 :
好比我现在向这个里面插入数据或者字段 传出字段 包括条件的查询 while do 怎么搞 查了网站 不是相互copy 还不如来javaeye 求高——手
教教刚刚开始玩存储过程 最好详细点 跪谢!!拜托啦!
问题补充:GavinHwa 写道么了格式,还没样式,还不能修改,只好重新发一次,请不要按刷票处理谢谢!如果管理员看到了情把上面一贴给删除掉,谢谢!
还是直接上存储过程吧
DELIMITER $$ USE `DataBaseName`$$ /*数据库名称*/ DROP PROCEDURE IF EXISTS `USP_BuddyReject`$$ /*存储过程名字 这里采用先删除在创建的做法MySQL中常用做法*/ CREATE DEFINER=`Test`@`%` PROCEDURE `USP_BuddyReject`( `v_UserId` INT, `v_BuddyId` INT, `v_Flag` TINYINT ) BEGIN /*好友请求拒绝*/ IF EXISTS(SELECT 1 FROM Buddy WHERE UserId=`v_BuddyId` AND BuddyId=`v_UserId`) THEN UPDATE Buddy SET Flag=`v_Flag` WHERE UserId=`v_BuddyId` AND BuddyId=`v_UserId`; END IF; END$$ DELIMITER ;
相对比较规范的写法吧...
我是在dos下面做的存储过程:
create procddure it() select 'hello'; 创建了一个存储过程
然后就是call 这个存储过程 其他的不知道怎么搞
你给的例子 每次去操作存储过程把原来创建的删除 然后从新创建一样的
我现在就像刚刚学sql样 就会创建表 不知道还有curd的操作 能详细的从创建 到怎么去用 吗 谢谢!!!!!!2011年10月19日 13:12
6个答案 按时间排序 按投票排序
-
看官方文档
http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html
hudingchen (资深程序员) 2011-10-192011年10月28日 16:23
-
CRUD 这些你可以参考http://w3schools.com/sql/default.asp
中文地址:http://www.w3school.com.cn/sql/index.asp
这里面有基本的CRUD介绍。2011年10月19日 23:20
-
么了格式,还没样式,还不能修改,只好重新发一次,请不要按刷票处理谢谢!如果管理员看到了情把上面一贴给删除掉,谢谢!
还是直接上存储过程吧
DELIMITER $$ USE `DataBaseName`$$ /*数据库名称*/ DROP PROCEDURE IF EXISTS `USP_BuddyReject`$$ /*存储过程名字 这里采用先删除在创建的做法MySQL中常用做法*/ CREATE DEFINER=`Test`@`%` PROCEDURE `USP_BuddyReject`( `v_UserId` INT, `v_BuddyId` INT, `v_Flag` TINYINT ) BEGIN /*好友请求拒绝*/ IF EXISTS(SELECT 1 FROM Buddy WHERE UserId=`v_BuddyId` AND BuddyId=`v_UserId`) THEN UPDATE Buddy SET Flag=`v_Flag` WHERE UserId=`v_BuddyId` AND BuddyId=`v_UserId`; END IF; END$$ DELIMITER ;
相对比较规范的写法吧...2011年10月19日 18:30
-
还是直接上存储过程吧
DELIMITER $$
USE `DataBaseName`$$ /*数据库名称*/
DROP PROCEDURE IF EXISTS `USP_BuddyReject`$$ /*存储过程名字 这里采用先删除在创建的做法MySQL中常用做法*/
CREATE DEFINER=`Test`@`%` PROCEDURE `USP_BuddyReject`(
`v_UserId` INT,
`v_BuddyId` INT,
`v_Flag` TINYINT
)
BEGIN
/*好友请求拒绝*/
IF EXISTS(SELECT 1 FROM Buddy WHERE UserId=`v_BuddyId` AND BuddyId=`v_UserId`) THEN
UPDATE Buddy
SET Flag=`v_Flag`
WHERE UserId=`v_BuddyId` AND BuddyId=`v_UserId`;
END IF;
END$$
DELIMITER ;
相对比较规范的写法吧...2011年10月19日 18:28
-
看官方文档
http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html2011年10月19日 13:36
-
你说了这么多,每个词汇都可以写一大片语句。
我给你参考我的例子吧。drop PROCEDURE if exists setTopDept; DELIMITER $$ CREATE PROCEDURE setTopDept() begin declare d_id tinyint; declare dptid tinyint; declare testid tinyint; declare fetchSeqOk boolean; declare dept_cur cursor for select sd0.dept_id from s_department sd0 where sd0.parent_id is not null; declare continue handler for NOT FOUND set fetchSeqOk = false; set fetchSeqOk = true; open dept_cur; fetchSeqLoop:Loop if fetchSeqOk then fetch dept_cur into d_id; select sd.parent_id into dptid from s_department sd where sd.dept_id=d_id; while dptid is not null do set testid=dptid; select sd.parent_id into dptid from s_department sd where sd.dept_id=testid; end while; update s_department set topDeptId = testid where dept_id = d_id; else leave fetchSeqLoop; end if; end Loop; close dept_cur; update s_department sd set sd.topDeptId = sd.dept_id where sd.parent_id is null; end$$ DELIMITER ; call setTopDept();
简单给你解释下
declare dept_cur cursor for ……就是定义一个游标名字叫dept_cur。
这个游标了,在下面的loop(循环),给d_id设置值
然后循环赋值,更新等。
自己看吧,你说的范围太大,不明白的再说咯。2011年10月19日 13:19
相关推荐
本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...
Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...
mysql经典教程+mysql存储过程讲解 重点讲解Mysql的存储过程,触发器,游标的使用 对mysql不太熟的朋友可以好好学习。。。
c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30)...
MySQL存储过程学习 MySQL存储过程 MySQL存储过程
mysql 存储过程 实战
mysql存储过程ppt
mysql获取两个时间相差年月日:使用mysql存储过程,实现计算两个时间的差值,并用年月日时分秒的格式输出,且从大到小为0时则不展示对应单位(如:相差1小时20秒 则展示'1时0分20秒')
mysql存储过程,存储函数练习,里面有详细代码,供大家参考
MySQL存储过程
MySQL存储过程编程 可以看看 数据库 存储过程
php中调用MySQL存储过程示例
MySQL存储过程,入门简单,循序渐进,很适合自学,很详尽,很好学。
给了一个小的mysql 存储过程的例子。同时给出了一个在pb9中调用的例子.本例子是给出的mysql8.0的存储过程。对于5.7一下的现在odbc很难有支持
MySQL存储过程实例教程,MySQL存储过程实例教程
mysql存储过程实例详细介绍了mysql存储过程的开发步骤
Mysql存储过程和函数