mysql存储过程
1、新建表test create table test1( field1 int not null ) ENGINE=MyISAM DEFAULT CHARSET=gbk; insert into test1(field1) values(1); 2、删除已存在的存储过程 -- 删除储存过程 delimiter // -- 定义结束符号 drop procedure p_test; 3、mysql存储过程定
1、新建表test
create table test1(
field1 int not null
)
ENGINE=MyISAM DEFAULT CHARSET=gbk;
insert into test1(field1) values(1);
2、删除已存在的存储过程
-- 删除储存过程
delimiter // -- 定义结束符号
drop procedure p_test;
3、mysql存储过程定义
create procedure p_test(in temp int,out cc int)
begin
insert into test1 values(temp);
set cc=6;
end
4、调用方法
CallableStatement cStmt = conn.prepareCall("{call p_test()}");
cStmt.executeUpdate();
5. CallableStatement 用来调用存储过程(了解)
在 JDBC 中调用已储存过程的语法如下所示。注意,方括号表示其间的内容是可选项;方括号本身并不是语法的组成部份。
{call 过程名[(?, ?, ...)]}
返回结果参数的过程的语法为:
{? = call 过程名[(?, ?, ...)]}
不带参数的已储存过程的语法类似:
{call 过程名}
示例代码:
String procedure="{call Operator_login(?,?,?)}";
//注册存储过程
CallableStatement callStmt=conn.prepareCall(procedure);
//注册存储过程输出参数的类型
callStmt.registerOutParameter(3,java.sql.Types.INTEGER);
//提供输入参数的值
callStmt.setString(1,this.operatorID);
callStmt.setString(2,this.password);
//执行存储过程
callStmt.execute();
//返回输出参数
login_state=callStmt.getInt(3);
CallableStatement cs = conn.prepareCall("{call ec_get_cust_terms(?)}");
cs.setInt(1, cus
相关文档:
mysql中char、varchar、nvarchar数据类型的用法区别:
说明:
1、char:
固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。
2、varchar:
可变长度的非 Unicode 数据,最长为 8,000 个字符。
3、nvarchar:
可变长度 Unicode 数据,其最大长度为 4,000 字符。  ......
话说之前用php写的一个统计跑得好好的,突然一天不出数据了,追其原因出在sql语句上,由于数据量增大加上服务器老旧,运行sql语句的时候出现内存不足的提示,遂决定优化sql语句使其不产生临时表。需求清晰,下面举例说明:
原sql语句:
SELECT COUNT( DISTINCT md5 ) from active AS a
......
http://blog.chinaunix.net/u/14014/showart_490462.html
mysql>show variables like '%timeout';
打印结果如下:
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| connect_timeout | 5 |
| delayed_insert_timeout | 300 |
| interactive_ ......
在access中表中数据导出为文本文件到MySQL的问题?
导出文本文件时候,可以选择字段分隔符,来把每一列隔开 和 文本识别符,来把char型数据括起来
我现在用“,”作为字段分隔符,不使用文本识别符
生成的文本文件如下
1,张三,男,,中国 上海,80501206
2,王五,女,中国 北京 ......