存储过程是数据库管理系统的专用术语,相当与普通编程语言的函数、过程。普通过程的作用是完成特定的工作,存储过程专用于处理数据库的数据更新、查询。普通工程往往有编译程序生成,存在与操作系统的特定文件中,存储过程由数据库管理系统生成存放到数据库的数据字典中。直接通过SQL语句访问数据库时,SQL语句以字符串的形式提交给服务器,服务器要经过分析、编译,然后才执行;若将SQL语句写到存储过程中,那么分析和编译是在生成存储过程时完成的,需要执行时只需要调用存储过程就可以了。如下SQL语句完成数据的更新,可以将他们写到存储过程中
update table1 set column1='1',column2='2';
update table2 set column1='11',column2='22';
若将他们直接提交给服务器每一条语句都需要经过分析、编译、执行。
将他们写入如下存储过程中(对oracle)create or replace procedure proc_name is
begin
update table1 set column1='1',column2='2';
update table2 set column1='11',column2='22';
end proc_name;需要执行更新时直接调用(exec proc_name)存储过程proc_name。若你一次要执行很多SQL语句而且这些语句要反复执行就应该写成存储过程。
update table1 set column1='1',column2='2';
update table2 set column1='11',column2='22';
若将他们直接提交给服务器每一条语句都需要经过分析、编译、执行。
将他们写入如下存储过程中(对oracle)create or replace procedure proc_name is
begin
update table1 set column1='1',column2='2';
update table2 set column1='11',column2='22';
end proc_name;需要执行更新时直接调用(exec proc_name)存储过程proc_name。若你一次要执行很多SQL语句而且这些语句要反复执行就应该写成存储过程。
解决方案 »
- user guide 和 developers guide 分别是什么,有什么区别,举个例子
- j急!急!急!websphere服务器报错:java.lang.NoSuchMethodError: ...Ljavax/servlet/http/HttpServletRequest
- 请问 "request.getParameter" 中文变成乱码要如何解决呢?
- 如何改变field级别的错误信息的颜色显示
- 小弟刚学 Spring 有点小问题??请前辈指教..
- SSH启动tomcat失败。代码都没改,一会儿能启动,一会儿不能启动
- Jsp/Servlet初学者的疑惑
- java mail pop3收邮件问题
- log4j中將日志寫入到oracle數據庫中,提示sql錯誤:字符串不合法,請求幫助?
- 关于apache rewrite,求2条重写规则
- 我是新手,各位xdjm请帮忙
- 怎样将JTable中新增的一行,插入到数据库中?
CallableStatement cstmt=connection.prepareCall("{call getEmployeeStartSalary (?,?)}");
cstmt.setString(1,employeeId);
cstmt.registerOutParameter(2,java.sql.Types.DOUBLE);
cstmt.executeQuery();
double salary=cstmt.getDouble(2);
return salary;
}help me to explain the function ,thank you!
由于其保存在数据库缓冲区中,所以无需编译可直接调用.执行的效率很高!
CallableStatement cstmt=connection.prepareCall("{call getEmployeeStartSalary (?,?)}");
cstmt.setString(1,employeeId);
cstmt.registerOutParameter(2,java.sql.Types.DOUBLE);
cstmt.executeQuery();
double salary=cstmt.getDouble(2);
return salary;
}help me to explain the function ,thank you!