为什么兴趣小组没有什么报酬,但 却比大多数商业公司的团队更有效。为什么open source 在软件行业中成为了一只推动发展的生力军。这是因为参与者都具有相当的热情和爱好,只根据能力和状态的不同去分配任务,则会让一切变得简单。这一切都取决于一个根本的原因--人。软件项目的管理根本是人的管理而不是过程管理。
在商业软件项目中,完成项目的时间应该是安排的程序员制定的,而不是项目经理或者其它人。完成高质量的任务的并不是将任务分配下去,而是自己自己抢这去做。因为每个程序员都渴望成功,这个成功可以是贡献,也可以是分享。当软件项目有机的切割成不同的任务时,每个任务最适合的人员就是那些有兴趣,有决心把它做到最好。
在工业时代,我们需要管理的是工人的四肢;科技时代,我们需要管理的是程序员的敏捷头脑和激发一切的主管能动性。软件凝聚的是程序的智慧,而不是程序员的汗水。
一个项目团队,就像是一个临时家庭,作为一个团队的管理者,你是知道团队中每个人的生日,你是否知道团队中每个人的上班路线,你是否知道团队中每一个人的爱好。越来越的团队开始用兄弟连的的例子去描述一个团队。一个团队的核心是每个团队成员而不是管理者。
1 用plsql 连接 plsql cyts_cc/cyts_cc@cyts
2 sqlplusw 打开oracle sql*plus 界面。
3 plsql 中commond window 实现了sql*plus 的所有功能。
4 programmer window 和 test windown 实现了编程和调试的功能。
5 pl/sql 的结构
create or replace procedure test
declare
c_name varchar(5);
begin
select name into c_name from emp where id=@no;
dbms output.put_line('客户名称:'||c_name);
exception
when no_data_found then
dbms_output.put_line('请输入正确雇员号!');
end test;
输入no得值
6 匿名块/命名块
命名块主要是为了在嵌套结构是区分层次
<<outter>>
declare
c_name varchar(5);
begin
<<inner>>
begin
....
end;
select name into c_name from emp where id=@no;
dbms output.put_line('客户名称:'||c_name);
exception
when no_data_found then
dbms_output.put_line('请输入正确雇员号!');
end test;
7 调用 存储过程
exec pro_name
call pro_name
8 调用函数
call anual_income into income
9 保用于逻辑作合相关的过程和函数,包括包头,和包体,在包头中只定义存储过程or函数,在包体中
定义实现。
10 标量变量
varchar2(n)max 4000 char(n) max 2000 number(p,s) p 总的位长,s 小数电后面的位长
date ,timestamp,long(类似于varchar) max 32760,long raw 二进制 32760
binary_fload 和 binary_double oralce 10g 用于高精度计算高速计算。
11 定义标量变量
c_max_value constant number(3,2):=5.5
constant,default,not null,:=
12 %type
13 复合变量
1 pl/sql 记录 类似于高级语言中的结构
type emp_record_type is record(
name emp.ename%type
salary emp.sal%type);
emp_record emp_record_type;
2 pl/sql 表,类似于高级语言中的数组,单其下标可以为负,且元素个数没有上下限。
declare
type ename_table_type is table of emp.ename%type
index by binary_integger;
ename_table ename_table_type;
select ename into ename_table(-1) from emp where &enomo='1118'
3 嵌套表结构还有些看不懂,先放下,以后在看
14 参照变量
参照变量是指由于存放指针的变量。通过石油参量变量可以使用相同的对象。
1 ref cursor
当显示游标时,需要在定义显示游标时制定响应的select语句,当使用游标变量时,在定义是不需
指定select 语句,而是在游标指定select 语句
declare
type c1 is ref cursor
emp_cursor c1
...............
begin
ipen emp_cursor for select ename,sal from emp where deptno=10;
loop
fetch emp_sursor into v_ename,v_sal;
exit when emp_cursor%not found
...........
end loop;
close emp_sursor;
2 ref obj_type
可以引用对象类型
create or replace type home_type as object(
street varchar2(50),city varchar2(20),
owner varchar(10)
);
create table homes of home_type;
insert into homes values('222','3333');
create table person(
id number(6) primary key,
name varchar2(10),
addr ref home_type
);
inert into person select 1,'22',ref(p) from homes p where p.owner='22'
14 lob 变量
lob 分为内部lob(clob,blob,nclob ) 和外部lob(bfile),内部lob 存在数据库内,支持事务。外部
lob 存在外部,不支持事务
1
导出:
EXP.EXE cits_cc/cits_cc@cits direct=y buffer=327680 file=D:\cits.dmp owner=(cits_cc,cits_stat)
导入:
IMP.EXE cits_cc/cits_cc@cits file=D:\cits.dmp fromuser=(cits_cc,cits_stat) touser=(cits_cc,cits_stat)
2
连接数据库
sqlpuls /nolog
connect / as sysdba
3 查看实例
select * from v$instance
4 启动数据库
startup nomount 启动实例但不加载数据
startup mount 启动实例加载数据,但不大开数据库
startup 启动实例,加载数据,打开数据库
alter database mount 为实例加载数据
alter database open 从加载状态进入打开状态
startup force 强行启动数据库
5 受限状态 只有dba 或同时具有create sesson 和restricted session 可以访问数据库
在受限状态下一般的用户(create session)不能访问,但是dba 可以进行数据库的维护,数据的导入导出
startup restrict 启动进入受限状态
alter system disable restricted session 恢复正常状态
alter system enable restricted session 进入受限状态
6 只读数据库
alter database open read only
alter database open read write
7 关闭数据库
shutdonw normal 正常关闭
shutdown immediate 立即关闭
shutdown transactional 事务型关闭
shutdown abort 立即中止
8 静默状态(只有dba 可以访问)
alter system quiesce restricted 进入静默状态
alter system unquiesce 退出静默状态
select active_status from v$instance 查询静默状态
9 挂起状态(暂停所有io操作)
alter system suspend 挂起
alter system resume 恢复
select database_status from v$instance 查询状态
9 创建数据库 dbca
package test;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Oracletest {
/**
* @param args
* @throws SQLException
* @throws ClassNotFoundException
* @throws UnsupportedEncodingException
*/
public static void main(String[] args) throws SQLException, ClassNotFoundException, UnsupportedEncodingException {
// TODO Auto-generated method stub
String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@172.16.5.135:1521:oratest";
uid = "cyts_user";
pwd = "1";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);
String sql="select customer_name from customer_info";
Statement sm = cn.createStatement();
ResultSet rs=sm.executeQuery(sql);
if(rs.next()){
System.out.println(rs.getString(1));
String old=rs.getString(1);
String newStr = new String(old.getBytes("ISO8859_1"), "GB2312");
System.out.println(newStr);
}
}
}
很简单,单如经常忘,呵呵,都是这么多orm 让我变得建忘了