彻底崩溃了!求救 Mysql 存储过程语句
昨晚搞了一个晚上,早上又搞了一个晚上,可查看的书少之又少,全部都是一笔带过;
看帖无数,看来看去都是那几个转帖,要不就是无法符合我的要求,没法依葫芦画瓢;算本人愚钝了,
本人想完成一个很简单的功能:
编写一存储过程,根据传进去的 表名 和 条件;返回该表的总记录数,例如(下边代码是错误的,思路是对的)
DROP PROCEDURE IF EXISTS getTotalCounts;
create procedure getTotalCounts(in tableName varchar(100),in whereText varchar(100),out totalCounts int)
comment '获取表总记录数'
begin
set @table_name=tableName;
set @total = totalCounts;
set @where_text=whereText;
set @s=' select count(*) into @total from ' + @table_name+ ' where '+ where_text;
prepare stmt from @s;
execute stmt;
set totalCounts = @total;
DEALLOCATE prepare stmt;
end;
CallableStatement proc =con.prepareCall("{call getTotalCounts(?,?,?)}");
proc.setString(1, "blog_article");
proc.setString(2,"cate_id>0");
proc.registerOutParameter(3,Types.INTEGER);
proc.execute();
本人以前很少接触存储过程啊,疑问比较多;那个mysql在线帮助文档没什么用的,一个好的例子都没有。
1、本人记得对于 (out test) 类型的参数,如果要用的话,直接调用 select xxx into test from xxx 就可以把查询结果插入到test 就可以了;上边那个个存储过程 为什么不能写成:
begin
select count(*) into totalCounts from tableName where where_Text;
end如果这样写多简单啊,非要搞个什么
prepare stmt from @s;
execute stmt;
2、有些地方定义 declare str varchar(100)变量,有些地方直接@str(@出来的变量是什么类型的?) 一个变量;在使用的时候,真是乱七八糟的。
3、在网上我看到 有些人连接字符串用concat,有些又直接用 + 号就行;两者有什么区别?
不多说了,关键是能写出我上边那个存储过程,好等我依葫芦画瓢!~~~谢谢了!
相关推荐
MySQL存储过程的异常处理方法
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30), -> p_city VARCHAR(30), -> p_description VARCHAR(30), -> OUT p_sqlcode INT, -> OUT
mysql存储过程中的异常处理解析
主要为大家详细介绍了mysql存储过程中的异常处理,感兴趣的小伙伴们可以参考一下
mysql update语句的执行过程详解
以前有过一篇关于MySQL查询语句的执行过程,这里总结一下update语句的执行过程。由于update涉及到数据的修改,所以,很容易推断,update语句比select语句会更复杂一些。 1,准备 创建一张test表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c` int(11) NOT NULL DEFAULT '0' COMMENT '数值', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='\u6d4b\u8bd5\u8868'; 插入三条数据
MySql 存储过程教程
废了很大劲找到的 很不错建议大家看看 里面讲的很详细 很专业
MySQL5.0存储过程教程
Introduction 简介 MySQL 5.0 新特性教程是为需要了解5.0版本新特性的MySQL老用户而写的。简单的来说是介绍了“存储过程、触发器、视图、信息架构视图”,在此感谢译者陈朋奕的努力.


