select 2*3 from dual; --求年薪 select ename,sal, sal*12 from emp; --别名 select ename,sal, sal*12 as "年薪" from emp; select ename,sal, sal*12 "年薪" from emp; --员工一年总收入 select * from emp; select ename,sal, sal*12+comm as "年总收入" from emp; --注意:含有任何null值的数学表达式最后的结果都为null --字符串连接符 || select ename||'员工姓名' from emp; --处理一个字符串中含有单引号的情况 :使用2个单引号表示一个单引号 select ename||'员工''姓名' from emp; --含有任何null值的字符串表达式中,null被当作空字符串处理 select empno, ename||mgr from emp; --求员工每个级别顶薪 select hisal*12 as "员工年顶薪" from salgrade; /* distinct 消除重复值 */ --求emp表中的部门列表 select distinct deptno from emp; select deptno, job from emp; select distinct deptno, job from emp;--去除deptno, job 组合起来的重复值 --null值 --求奖金为null的员工信息 select * from emp where comm is null; --求奖金不为null的员工信息 select * from emp where comm is not null; /* in */ --求员工编号在某一个集合内的值 select * from emp where empno in (7369,7499,7521) select * from emp where empno not in (7369,7499,7521) /* oracle 日期 */ select * from emp; --求入职日期在1982-1-23后入职的人 select * from emp where hiredate > '23-1月-82'; /* like */ --查询员工 名字第二个字面为A的人 select * from emp where ename like '_A%'; --查询名字中含有 % 等通配符的数据时,使用转义字符 \ (\%) select * from emp where ename like '%\%%'; --查询1987年入职的人 select * from emp where hiredate>='1-1月-87' and hiredate<='31-12月-87'; select * from emp where hiredate like '%87%' /* order by*/ select * from emp order by deptno asc,sal desc; /*常用函数*/ --lower() select empno, Lower(ename) from emp; --查询名字带有 “A“ 或 "a"的员工 select * from emp where ename like '%A%' or ename like '%a%'; select * from emp where Lower(ename) like '%a%'; --Upper(); 小写转大写 select Upper('wepull') from dual; --Substr select Substr('wepull',2,3) from dual; --epu select Substr('wepull',2) from dual; --epull select Substr(ename,2) from emp; --Chr() 某个ASCII码值对应的字符 select Chr(97) from dual; -- a -- Ascii()函数 --例子:求一个字符的ASCII码值 select Ascii('a') from dual; --97 --常用数值函数 select round(23.652) from dual --24 select round(23.652,2) from dual --23.65 select round(23.652,-1) from dual --20 select round(493.652,-2) from dual --500 --to_char() select to_char(456123.45,'L999,999.99') from dual-- ¥456,123.00 --to_char()对日期的转换 select sysdate from dual; select to_char(sysdate,'YYYY/MM/DD') from dual; --to_date()函数 --例子:将1985年2月14日8:00以后入职的雇员信息取出 select * from emp where hiredate > to_date('1985-02-14 8:00','YYYY-MM-DD HH:MI') --to_number()函数 --求薪水<于1200的人 select * from emp where sal<to_number('$1,200','$9,999') --nvl 处理空值 select ename, sal*12+comm as "一年总收入" from emp select ename, sal*12+nvl(comm,0) as "一年总收入" from emp ---聚合函数/组函数 select * from emp; --emp表中deptno数量 select count(deptno) from emp; select count(distinct deptno) as "部门总数" from emp; --group by --求每个部门的最大工资 select deptno ,max(sal) from emp group by deptno; --求每个部门中职位的最大工资 select deptno ,job,max(sal) from emp group by deptno , job; ---求每个部门工资最高人信息 select ename,deptno,sal from emp where (deptno,sal)in (select deptno ,max(sal) from emp group by deptno); --方法二 select * from emp join (select deptno ,max(sal) max_sal from emp group by deptno ) t on (emp.deptno=t.deptno and emp.sal=t.max_sal) --having select deptno, avg(sal) from emp group by deptno having avg(sal)>2500 ---子查询 --求工资最高的人的信息 select * from emp where sal=( select max(sal) from emp ); --rownum(分页) --查询emp表前5条记录 select ename,rownum from emp where rownum<=5; --查询emp表第5条以后记录 select * from (select empno, ename,rownum as r from emp) where r>5; --rownum 与排序 select empno,ename,sal ,rownum from emp order by sal; select empno,ename,sal ,rownum from (select empno,ename,sal from emp order by sal) 上司 --自连接 --求emp表中员工的姓名和对应的上司(mgr) select * from emp; select e1.ename, e2.ename from emp e1,emp e2 where e1.mgr=e2.empno; --交叉连接 select ename from emp; select dname from dept; select ename,dname from emp ,dept; --结果为笛卡尔乘积 --SQL1999 语法 select ename,dname from emp cross join dept; --连接查询 create table a( id int primary key, name nvarchar2(20) ); select * from a; insert into a values (1,'凤姐'); insert into a values (3,'犀利哥'); insert into a values (5,'春哥'); insert into a values (6,'曾哥'); insert into a values (7,'平平'); create table b( id int primary key, info nvarchar2(20) ) insert into b values (1,'深圳'); insert into b values (2,'武汉'); insert into b values (6,'成都'); select * from a; select * from b; select * from a left outer join b on a.id=b.id;--左外连接 select * from a right outer join b on (a.id=b.id);--右外连接 select * from a full join b on (a.id=b.id);--全连接 (左外连接+右外连接) select * from a inner join b on (a.id=b.id) --内连接 --非等值连接 --查询出雇员名字和薪水等级(2个表连接查询) select * from emp; select * from salgrade; select e.ename ,e.sal ,s.grade from emp e join salgrade s on (e.sal between s.losal and s.hisal) --查询出雇员名字,及对应的部门名称,薪水等级(3个表连接查询) select e.ename, d.dname, s.grade from emp e join dept d on(e.deptno=d.deptno) join salgrade s on (e.sal between s.losal and s.hisal) --练习 --求部门中薪水最高的人名。 select * from emp e; select e.deptno, max(e.sal) from emp e group by deptno ; select e.ename ,t.deptno,e.sal from emp e join (select e.deptno, max(e.sal) max_sal from emp e group by deptno) t on (e.deptno=t.deptno and e.sal =max_sal) --求部门平均薪水等级? select deptno, avg(sal) from emp e group by deptno; select * from salgrade; select t.deptno, t.avg_sal, s.grade from salgrade s join (select deptno, avg(sal) avg_sal from emp e group by deptno) t on(t.avg_sal between s.losal and s.hisal ); --求哪些人是经理 select * from emp; select * from emp where mgr in (select mgr from emp); select * from emp where mgr in (select distinct mgr from emp); --平均薪水最高的部门编号与薪水 --第一步:先求出部门平均薪水 select e.deptno ,avg(sal) from emp e group by e.deptno; --第二步:求出平均薪水最高值 select max(t.avg_sal) from (select e.deptno ,avg(sal) avg_sal from emp e group by e.deptno) t --综合 select deptno ,avg_sal from (select e.deptno ,avg(sal) avg_sal from emp e group by e.deptno) t where t.avg_sal = ( select max(t.avg_sal) from (select e.deptno ,avg(sal) avg_sal from emp e group by e.deptno) t ) --方法二: select deptno ,avg_sal from (select e.deptno ,avg(sal) avg_sal from emp e group by e.deptno) t where avg_sal =(select max(avg(sal)) from emp group by deptno ) --注意 :组函数嵌套只能嵌套2层 select * from emp; --比普通员工的最高薪水还要高的经理人名称 -- 1.先求普通员工的最高薪水? select max(sal) from emp e where e.empno not in (select mgr from emp where mgr is not null ) --2.求比上面的值要大,并且还是经理人 select e.ename,e.sal from emp e where e.empno in (select distinct mgr from emp where mgr is not null ) and e.sal> ( select max(sal) from emp e where e.empno not in (select distinct mgr from emp where mgr is not null ) ); --复制表 create table emp as select * from scott.emp where 1<>1;--只复制结构 create table emp as select * from scott.emp ;--复制数据 create table dept as select * from scott.dept ; create table salgrade as select * from scott.salgrade ; create table bonus as select * from scott.bonus ; select * from emp ---Orcle 高级部分 --视图 select * from scott.emp; create view emp_view as select empno, ename,sal from scott.emp; select * from emp_view; drop view emp_view; --查询每个部门的名称、总人数、平均工资、最低工资的员工名字。 select dept.dname from demp; select deptno, count(empno) ,avg(sal),min(sal) from emp group by deptno ; --综合: 3张表连接查询 select d.dname, t.deptno, t.c, t.avg_sal,t.min_sal ,e.ename from dept d join (select deptno, count(empno) c ,avg(sal) avg_sal,min(sal) min_sal from emp group by deptno ) t on (d.deptno=t.deptno) join emp e on (e.sal=t.min_sal and e.deptno=t.deptno) --把上面结果封装成视图 create or replace view deptInfo_view as select d.dname, t.deptno, t.c, t.avg_sal,t.min_sal ,e.ename from dept d join (select deptno, count(empno) c ,avg(sal) avg_sal,min(sal) min_sal from emp group by deptno ) t on (d.deptno=t.deptno) join emp e on (e.sal=t.min_sal and e.deptno=t.deptno) -- select * from deptinfo_view; --------- --外键约束 drop table t_type; create table t_type( id int primary key, typeName varchar2(20) ) drop table t_book; create table t_book( id int primary key, name varchar2(20) , tid int , constraint FK_tid foreign key (tid) references t_type(id)--字段级的外键约束,不用加foreign key ) -- select * from user_tables; select table_name from user_tables; insert into t_type values (1,'言情类'); insert into t_type values (2,'计算机类'); insert into t_type values (3,'言武侠类'); select * from t_book t insert into t_book values (1,'小磊子的情书',1); insert into t_book values (2,'凤姐的韵事',1); insert into t_book values (3,'干露露的视频',2); insert into t_book values (4,'java自学成才',2); insert into t_book values (5,'刘德华的情歌',3); -------- --视图中使用DML的规定(不重要) create or replace view book_view as select id,name from t_book; -- select * from t_book select * from book_view; delete from book_view where id=4; --只读视图 create or replace view book_view as select id,name from t_book with read only; --序列 create or replace sequence my_sec; select my_sec.nextval from dual; select my_sec.currval from dual; create sequence book_sec; create table book( id number, name varchar2(50) ) alter table book add constraint PK_id primary key (id) select * from book; insert into book values (book_sec.nextval,'111'); insert into book values (book_sec.nextval,'222'); insert into book values (book_sec.nextval,'333'); insert into book values (book_sec.nextval,'444'); create sequence se_1 increment by 50 --次增长的幅度 50 start with 100 --从100开始 maxvalue 400 --最大400 minvalue 50 cycle --到最大值后循环 cache 2; select se_1.nextval from dual --索引 create index idx_book on book(name); drop index idx_book; --同义词 t_book create synonym t for t_book select * from t; drop synonym t; --- PL/SQL begin dbms_output.put_line('hello word'); end; --变量赋值 declare v_name varchar2(20):='wepull'; begin dbms_output.put_line(v_name); end; --复合类型变量 --记录类型 declare --定义一个记录类型 type book_rec is record( id int, name varchar2(20) ); b_rec book_rec; --声明一个变量是记录类型 begin select id ,name into b_rec from wepull.t_book where id=1; dbms_output.put_line(b_rec.id||b_rec.name); end; --%type declare v_id wepull.t_book.id%type ;--定义的变量v_id类型与t_book中的id列的类型一致 v_name wepull.t_book.name%type; begin /* v_id:=1; v_name:='wepull'; */ select id ,name into v_id,v_name from wepull.t_book where id=1; dbms_output.put_line(v_id); dbms_output.put_line(v_name); end; --rowtype declare v_book wepull.t_book%rowtype ;--定义的变量v_book类型与t_book中列的类型一致 begin select * into v_book from wepull.t_book where id=1; dbms_output.put_line('id: '||v_book.id); dbms_output.put_line('name: '||v_book.name); dbms_output.put_line('tid: '||v_book.tid); end; --嵌套表 select * from t_book; select * from wepull.t_book; declare type book_table_type is table of wepull.t_book%rowtype;--定义类型 v_book book_table_type:=book_table_type(); begin v_book.extend(5); select * into v_book(1) from wepull.t_book where id=1; dbms_output.put_line(v_book(1).id||' '||v_book(1).name); select * into v_book(2) from wepull.t_book where id=2; dbms_output.put_line(v_book(2).id||' '||v_book(2).name); end; / --流程控制语句 --if --单个if --1.查询用户输入的id的图书,如果图书的tid=1 则输出图书类型为言情类 declare v_id wepull.t_book.id%type:=&v_id; v_tid wepull.t_book.tid%type; begin select id,tid into v_id, v_tid from wepull.t_book where id=v_id; if (v_tid=1) then dbms_output.put_line('此id的图书为言情类'); end if; end; / --if else --1.查询用户输入的id的图书,如果图书的tid=1 则输出图书类型为言情类,否则输出不是言情类 declare v_id wepull.t_book.id%type:=&v_id; v_tid wepull.t_book.tid%type; begin select id,tid into v_id, v_tid from wepull.t_book where id=v_id; if (v_tid=1) then dbms_output.put_line(v_id|| ' :此id的图书为言情类'); else dbms_output.put_line(v_id|| ' :此id的图书不是言情类'); end if; end; / -- --if elsif --1.查询用户输入的id的图书, --如果图书的tid=1 则输出图书类型为言情类, --如果图书的tid=2 则输出图书类型为计算机类 --如果图书的tid=3 则输出图书类型为言武侠类 select * from wepull.t_type; declare v_id wepull.t_book.id%type:=&v_id; v_tid wepull.t_book.tid%type; begin select id,tid into v_id, v_tid from wepull.t_book where id=v_id; if (v_tid=1) then dbms_output.put_line(v_id|| ' :此id的图书为言情类'); elsif(v_tid=2)then dbms_output.put_line(v_id|| ' :此id的图书为计算机类'); elsif(v_tid=3)then dbms_output.put_line(v_id|| ' :此id的图书为武侠类'); end if; end; / --case declare v_id wepull.t_book.id%type:=&v_id; v_tid wepull.t_book.tid%type; v_typeName wepull.t_type.typeName%type; begin select tid into v_tid from wepull.t_book where id = v_id; v_typeName := case v_tid when 1 then '言情类' when 2 then '计算机类' when 3 then '武侠类' else '其他类' end; dbms_output.put_line('id: '||v_id); dbms_output.put_line('tid: '||v_tid); dbms_output.put_line('typeName: '||v_typeName); end; / -- --case 搜索方式 declare v_id wepull.t_book.id%type:=&v_id; v_tid wepull.t_book.tid%type; v_typeName wepull.t_type.typeName%type; begin select tid into v_tid from wepull.t_book where id = v_id; v_typeName := case when v_tid=1 then '言情类' when v_tid=2 then '计算机类' when v_tid=3 then '武侠类' else '其他类' end; dbms_output.put_line('id: '||v_id); dbms_output.put_line('tid: '||v_tid); dbms_output.put_line('typeName: '||v_typeName); end; / --循环 --循环1---Loop --求 1+2+....+100=? declare v_i number:=0; v_sum number:=0; begin loop v_i:=v_i+1; v_sum:=v_sum+v_i; exit when(v_i=100); end loop; dbms_output.put_line('1+2+....+100='||v_sum); end; / --循环1---while --求 1+2+....+100=? declare v_i number:=0; v_sum number:=0; begin while(v_i<100) loop v_i:=v_i+1; v_sum:=v_sum+v_i; end loop; dbms_output.put_line('1+2+....+100='||v_sum); end; / --循环1---for --求 1+2+....+100=? declare v_i number:=0; v_sum number:=0; begin for v_i in 1..100 loop v_sum:=v_sum+v_i; end loop; dbms_output.put_line('1+2+....+100='||v_sum); end; / -- declare v_i number:=0; v_sum number:=0; begin for int in 1..100 loop v_i:=v_i+1; v_sum:=v_sum+v_i; end loop; dbms_output.put_line('1+2+....+100='||v_sum); end; / --goto declare v_i number:=0; v_sum number:=0; begin for v_i in 1..10 loop dbms_output.put_line('当前i为: '||v_i); if(v_i=5) then goto endloop; end if; end loop; <<endloop>> dbms_output.put_line('此时v_i=5,退出了循环体'); end; --null语句 --goto declare v_i number:=0; v_sum number:=0; begin for v_i in 1..10 loop dbms_output.put_line('当前i为: '||v_i); if(v_i=5) then goto endloop; end if; end loop; <<endloop>> null; end; --游标 --使用游标取出emp表总前10人的信息。 select * from scott.emp; declare --第一步:声明游标 cursor emp_cursor is select * from scott.emp where rownum<=10; emp_record scott.emp%rowtype; begin --第二步:打开游标 open emp_cursor; --第三步:从游标中取数据 loop fetch emp_cursor into emp_record;--每取出一条数据,指针自动下移 exit when(emp_cursor%notfound);--最后次取数据失败 dbms_output.put_line(emp_record.empno|| ' ' ||emp_record.ename); end loop; --第四步:关闭游标 close emp_cursor; end; / --错误例子 declare --第一步:声明游标 cursor emp_cursor is select * from scott.emp where rownum<=10; emp_record scott.emp%rowtype; begin --第二步:打开游标 open emp_cursor; --第三步:从游标中取数据 loop fetch emp_cursor into emp_record;--每取出一条数据,指针自动下移 dbms_output.put_line(emp_record.empno|| ' ' ||emp_record.ename); exit when(emp_cursor%notfound);--最后次取数据失败 end loop; --第四步:关闭游标 close emp_cursor; end; / --使用游标取出emp表总前10人的信息。 while declare --第一步:声明游标 cursor emp_cursor is select * from scott.emp where rownum<=10; emp_record scott.emp%rowtype; begin --第二步:打开游标 open emp_cursor; --第三步:从游标中取数据 fetch emp_cursor into emp_record; while(emp_cursor%found)loop dbms_output.put_line(emp_record.empno|| ' ' ||emp_record.ename); fetch emp_cursor into emp_record; end loop; --第四步:关闭游标 close emp_cursor; end; / --使用游标取出emp表总前10人的信息。 for 必须掌握 declare --第一步:声明游标 cursor emp_cursor is select * from scott.emp where rownum<=10; emp_record scott.emp%rowtype; begin for emp_rec in emp_cursor loop dbms_output.put_line(emp_rec.empno|| ' ' ||emp_rec.ename); end loop; end; / --使用游标取出emp表总指定job 和 deptno的员工信息。 select * from scott.emp declare --第一步:声明游标 cursor emp_cursor(v_job scott.emp.job%type,v_deptno scott.emp.deptno%type) is select * from scott.emp where job=v_job and deptno=v_deptno; emp_record scott.emp%rowtype; begin for emp_rec in emp_cursor('CLERK',30) loop dbms_output.put_line(emp_rec.empno|| ' ' ||emp_rec.ename); end loop; end; / --模糊查询 select PATINDEX('%abb%','abcaabbeeabb') from dual; select * from scott.emp where regexp_like(ename, '[AS]MITH');--SMITH select * from scott.emp where ename like 'SMITH'; --游标的update操作 --更新指定图书的名字 declare cursor book_cursor is select * from t_book for update; --v_id t_book.id%type:=v_id; v_name t_book.name%type:=&v_name; begin for book_rec in book_cursor loop if(book_rec.tid=1) then update t_book set name=v_name where current of book_cursor; end if; end loop; end; / --隐式游标(了解) --更新指定图书的名字,如果该图书没有找到,则打印”查无此图书”。 declare v_name t_book.name%type:=&v_name; v_id t_book.id%type:=&v_id; begin update t_book set name=v_name where id=v_id; if(sql%found) then dbms_output.put_line('修改成功: '||v_id||' '||v_name); elsif(sql%notfound) then dbms_output.put_line('没有指定id的图书 '); end if; end; / -------------存储过程 create or replace procedure p1 as v_name t_book.name%type:='言情'; v_id t_book.id%type:=1; begin update t_book set name=v_name where id =v_id; if(sql%found) then dbms_output.put_line('修改成功'); end if; end; / --调用存储过程 exec p1; select * from t_book; begin p1; end; / --带参数的存储过程 --求1...N的和 (N为入参) create or replace procedure p2(v_number in number) as v_sum number:=0; v_i number:=0; begin for v_i in 0..v_number loop v_sum:=v_sum+v_i; end loop; dbms_output.put_line(v_sum); end; --调用 begin p2(100); end; / --带参数的存储过程 --求1...N的和 (v_number为入参,v_sum为出参) create or replace procedure p3(v_number in number,v_sum out number) as begin v_sum :=0; for v_i in 0..v_number loop v_sum:=v_sum+v_i; end loop; dbms_output.put_line('存储过程中打印:'||v_sum); end; --调用 declare v_sum number; begin p3(100,v_sum); dbms_output.put_line('调用打印:'||v_sum); end; / --函数 无参 create or replace function my_fun return date as v_date date; begin select sysdate into v_date from dual; return v_date; end; / --调用 select my_fun() from dual; --- declare v_date date; begin v_date:=my_fun(); dbms_output.put_line(v_date); end; / --函数 带参数 --根据id查询出图书名字 create or replace function getName(v_id t_book.id%type) return t_book.name%type as v_name t_book.name%type; begin select name into v_name from t_book where id = v_id; return v_name; end; / --调用 declare v_name t_book.name%type; begin v_name:=getName(2); dbms_output.put_line(v_name); end; / --触发器 create table book_log( username varchar2(10), action varchar2(10), adate date ) select * from a; create or replace trigger trigger_book after insert or update or delete on scott.a begin if inserting then insert into book_log values (user,'insert',sysdate); elsif updating then insert into book_log values (user,'update',sysdate); elsif deleting then insert into book_log values (user,'delete',sysdate); end if; end; / --测试 select * from a; select * from book_log; insert into a values (8,'龙磊的铃声'); update a set name='龙磊' where id = 8; delete from a set name='龙磊' where id = 8; --行触发器 create or replace trigger trigger_book after insert or update or delete on scott.a for each row begin if inserting then insert into book_log values (user,'insert',sysdate); elsif updating then insert into book_log values (user,'update',sysdate); elsif deleting then insert into book_log values (user,'delete',sysdate); end if; end; / -- update a set name=name||'2'; delete from book_log; select * from book_log; select * from a; select * from emp; --异常处理(了解) declare v_empno scott.emp.empno%type:=&v_empno; v_emp_rec emp%rowtype; begin select * into v_emp_rec from scott.emp where scott.emp.empno=v_empno; dbms_output.put_line(v_emp_rec.empno||' '||v_emp_rec.ename); exception when no_data_found then dbms_output.put_line('没有此编号的员工 '); end; / declare v_deptno scott.emp.deptno%type:=&v_deptno; v_emp_rec emp%rowtype; begin select * into v_emp_rec from scott.emp where scott.emp.deptno=v_deptno; dbms_output.put_line(v_emp_rec.empno||' '||v_emp_rec.ename); exception when no_data_found then dbms_output.put_line('没有此编号的员工 '); when too_many_rows then dbms_output.put_line('select 语句返回了多行数据 '); end;
with e as 用法:
其实就是把一大堆重复用到的sql语句放在with as里面,取一个别名,后面的查询就可以用它,这样对于大批量的sql语句起到一个优化的作用,而且清楚明了。 with e as (select * from smc_sql ) select * from e where e.id=2; with as优点 增加了sql的易读性,如果构造了多个子查询,结构会更清晰; 更重要的是:“一次分析,多次使用”,这也是为什么会提供性能的地方,达到了“少读”的目标
相关推荐
一.LINUX 服务器安装配置 .... 二. ORACLE数据库安装前准备工作 ...... 2.8.1创建固定大小的vdi磁盘文件 ...3.5 创建ORACLE的ASM和ORACLE实例 3.6 客户端的配置配置客户端 四.ORACLE 10G RAC 常用命令 ...
oracle的卸载步骤,可以将自己的笔记本电脑中的oracle数据库完美卸载
现在用户不仅使用笔记本电脑,还会使用平板电脑和智能手机,而一旦这些客户端设备被盗,就很可能非常容易地泄露敏感信息。外包、海外建厂、企业并购以及近乎持续的组织变革都会产生额外的风险,恶意的内部人员能够更...
十分详细的Oracle11G的安装手册,作者的笔记本本身就是8个内存。注意咯!8G哟!没有的同学建议,去找两个笔记本,或者升级吧,要不然就只能看看咯!
个人上课整理的学习笔记,完整版本不要错过,包括oracle11g的安装及使用问题处理故障解决方案都有涉及,欢迎大家下载一起交流!
请最好准备一本专门为学习Oracle的笔记本。因为在学习安装、配置和应用的过程中会遇到很多提示以及您所要输入的用户名、密码和端口号、IP地址、数据库全称、SID等。 请在学习的过程中把它们一一记下来,以免忘记...
笔记本安装客户端,不需要安装oracle,使用plsql远程操作数据库。
oracle 基本上的知识汇总
笔记本一台(2G内存,320GB硬盘) VMware-server-installer-1.0.3-44356.exe rhel-5.1-server-i386-dvd.iso 10201_clusterware_linux32.zip 10201_database_linux32.zip vmware 序列号: 98525-YULF1-18KAP-4L5RX ...
基于SSH2框架设计,数据库可以用mysql或sqlserver,也可以转换到oracle. 电脑品牌信息: 品牌信息编号,品牌名称 电脑信息:笔记本电脑名称,笔记本电脑品牌,操作系统,处理器,主板,内存,硬盘,显卡,显示器,...
第一次用这种方式连接oracle数据库,自己百度搞了快两个小时才弄好,百度的资源也不靠谱,看了好多都不完整,搞完了报各种错误,各种连不上数据库,自己整理下资料,希望给其他的同行予以借鉴,不能保证每个人都能...
基于SSH2笔记本电脑基本信息管理系统 实现了笔记本信息的添加修改查询删除操作! 笔记本信息可以导出到excel 数据库采用sqlserver可以移植到mysql和oracle
Selenium-Oracle-Analytics怎么跑安装Jupyter笔记本您必须使用jupyter notebook运行此程序。 要安装,请运行pip install notebook添加环境变量要运行该程序,请将这些环境变量添加到您的〜/ .bashrc或〜/ .bash_...
安装好vncserver,本地pc笔记本能通过vnc viewer远程连接Oracle服务器,但是在执行xhost+报错,尝试过localhost,尝试过127.0.0.1,也试过本机ip地址,都是unable toopen displa,如下所示 [root@orcltest ~]# ...
重装了笔记本上的oracle,安装完成后,可以正常使用OEM控制台,但是注销后重新登录或者重启系统后登录,或者笔记本使用网络环境发生了变化,都有可能遇到问题。这些遇到问题的解决办法使用过,但是很久没折腾就忘记...
plsqlDeveloper与instanceClient客户端连接配置,可以从自己的笔记本在不装oralce数据库的情况下,连接服务器端的数据库
很好的资料,执行即可启动服务。方便笔记本等资源少的机器运行
Minas Gerais天主教大学(PUC-MG)使用Python 3以及关系和非关系数据库(Oracle,MongoDB,Redis,Neo4J)的脚本和笔记本存储库,用于数据科学和大数据的毕业后研究) 技术涵盖 的Python 3 NumPy 大熊猫 ...
计划并建议从“运行程序”主机(例如DevOps编排服务器,管理管理系统或开发人员的工作站/笔记本电脑)通过ssh远程运行InSpec和此概要文件叠加层。 为了获得运行程序的最佳安全性,请始终在运行程序上安装最新版本的...
sqldeveloper是oracle自己引入的开发工具。 免费;除了oracle数据库,sybase、mysql、mssqlserver、MS Access等数据库...缺点是相对消耗资源(但对于今天性能和内存白菜价过高的笔记本和台式机CPU,基本可以忽略不计)。