1、什么是存储过程,如何调用,它有什么好处
存储过程是:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
调用:
1.创建CallableStatement对象
callStmt = conn.prepareCall("{call 存储过程名(参数占位符?)}");
2.为参数占位符赋值
callStmt.setString(1, "jdbc");
3.如果是输出参数则需要注册
callStmt.registerOutParameter(问号下标, Types.数据类型);
4.执行
callStmt.execute();
5.如果有输出参数则获取带出的值
callStmt.getString(下标)
优点:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
2、什么是事务,事务的特点有哪些
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
1).原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
2).一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
3).隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4).持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
3、事务的分类有哪些,sqlserver的默认事务是什么
隐式事务、显式事务,自动提交事务(默认)
4、数据库里开始事务 提交事务 回滚事务的代码是什么
SQLSERVER:
Begin tran 2.commit tran 3.rollback tran
MYSQL
Start transaction 2.commit 3.rollback
5、索引:对数据库中一列的值或多列的值进行排序的结构
索引的优点:大大加快数据的检索速度,加快表与表之间的连接,创建唯一性索引,保证数据库表中每一行数据的唯一性,在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间
6、数据库降级从sqlserver2008到sqlserver2005
1)、新建一个sqlserver2005的数据库,注意修改文件目录,不要和2008的数据库发生冲突,使用生成脚本在sqlserver2005中创建一个新的数据库
2)、 生成数据库脚本,注意选择服务器版本编号编写脚本为sqlserver2005,为第一步新创建的库执行脚本
3)、启动导入导出功能,从sqlserver2008中导入数据到新建的sqlserver2005中
4)、 1)、2)步骤为了创建数据库和数据库中的表,触发器,存储过程等对象
5)、3)步骤为了把数据复制过来