社区
基础和管理
帖子详情
ORACLE XE中有没有EMP表?
百炼钢丶
2009-03-07 04:26:03
新装了ORACLE XE
学校,习惯了ORACLE 9i
select * from emp;
-> ORA-00942: 表或视图不存在
看了下帮助:应用程序构建器,添加了employees表。
以为可以运行 select * from emp;啦!
结果,还是不行。
比较怀念 select * from emp; 是否可以?
...全文
470
9
打赏
收藏
ORACLE XE中有没有EMP表?
新装了ORACLE XE 学校,习惯了ORACLE 9i select * from emp; -> ORA-00942: 表或视图不存在 看了下帮助:应用程序构建器,添加了employees表。 以为可以运行 select * from emp;啦! 结果,还是不行。 比较怀念 select * from emp; 是否可以?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
百炼钢丶
2009-03-18
打赏
举报
回复
朋友说:导入oracle9i里的emp表就可以啦。
wangsong145
2009-03-10
打赏
举报
回复
用 scott/tiger登陆就没问题了
也可以用SELECT * FROM SCOTT.EMP;
百炼钢丶
2009-03-10
打赏
举报
回复
我那个安装文件只有200MB。
跟大家的不一样,根本没有scott用户。 (我这个应该是个简易版本的吧)
而且也没有
%ORACLE_HOME%\RDBMS\ADMIN\scott.sql
这样的目录结构文件。
E:\oraclexe 根目录
下面两个文件夹 app、oradata
而且,我那个安装文件只有200MB。
百炼钢丶
2009-03-08
打赏
举报
回复
用 select * from scott.emp;
-> ORA-00942: 表或视图不存在
百炼钢丶
2009-03-08
打赏
举报
回复
用 SCOTT 登陆
-> 登录身份证明无效
百炼钢丶
2009-03-08
打赏
举报
回复
我装得ORACLE XE
有SYS、SYSTEM、HR用户。
好象没有SCOTT用户啊!
Andy__Huang
2009-03-07
打赏
举报
回复
估计你是用system/manager登录;
那么你要连接到scott用户后
connect scott/tiger
然后:
select * from emp;这样才可以
访问另一个对象的表,表名前要加导航表的所有者
wanglei8
2009-03-07
打赏
举报
回复
你是否用scott用户登陆的呢
select * from scott.emp;
这样能否查出来
是否有scott用户,如果没有,那么可以重建,sql脚本在
%ORACLE_HOME%\RDBMS\ADMIN\scott.sql
Andy__Huang
2009-03-07
打赏
举报
回复
你用了哪个用户登录?emp是scott用户下的表,要这样
select * from scott.emp;
oracle
scott用户的
表
oracle
scott用户的
表
oracle
数据库scott账号的dmp备份文件
该文件为scott账号的备份文件,导入方法: 在cmd下输入命令:imp userid=scott/tiger@
XE
file=C:\Users\yxt\Desktop\
emp
.dmp 其
中
scott/tiger
表
示用户名/密码 @
XE
表
示@安装的数据库实例(一般为orcl我的是
XE
)
Informatica 9.6从入门到项目实战开发
课程介绍: Informatica 9.6 实战课程,将从数据仓库体系架构介绍,服务器搭建配置,实例组件操作,丰富的案例,及项目实战开发过程 来讲述ETL工具Informatica的实际应用,真正完成数据仓库全流程开发应用,ODS层,EDW层,DM层,学完该课程具备ETL软件开发工程师能力水平,能独立完成项目开发工作,从入门到高级项目开发应用,每个实例都载图,课件,教程,数据等,能达到
中
高级ETL开发能力,本课程的学习要求,一定跟着实例动手实战,操作才能掌握实例的开发步骤,及开发注意事项。每个组件都用具体案例讲解,保证学以致用。掌握ETL的开发技能,搭建数据仓库体系架构。应对各环境操作。具体数据实操与应用。 你将收获:ETL软件开发工程师能力与水平数据仓库体系架构案例综合应用实战ETL实战项目开发数据采集与数据处理数据清洗与数据仓库指标统计学会使用Informatica完成项目开发掌握ETL开发流程掌握数据质量管理 适用人群 数据仓库初学者 数据仓库开发工程师 数据库开发工程师 BI开发工程师 数据可视化工程师大数据开发与应用 数据仓库管理 数据管理 数据分析师 业务数据分析 零基础入门ETL ETL大数据处理 数据仓库体系架构图: 课程大纲:01_Informatica9.6课程导学02_数据仓库体系介绍03_
Oracle
_安装04_
Oracle
_配置.wmv05_PLSQL工具汉化破解06_Informatica9.6安装.wmv07_Informatica9.6服务器配置.wmv08_客户端的安装配置连接.wmv09_客户端工具介绍10_源数据介绍11_入门实例
EMP
_0112_入门实例
EMP
_0213_入门实例DEPT
表
14_
表
达式Fx组件实例115_
表
达式Fx组件实例216_聚合组件实例17_查找Lookup组件实例18_过滤Filter组件实例19_Informatica9.6 排序sort组件实例详解20_Informatica9.6 分发器Router组件实例21_Informatica9.6 sql连接查询复习22_Informatica9.6 连接查询同构SQ23_Informatica9.6 连接查询异构JOIN24_Informatica9.6 等级函数Rank实例25_Informatica9.6 数据合并Union组件实例26_Informatica9.6 存储过程Px组件实例27_1行转列案例sql28_2行转列案例ETL过程29_工资大于该职位下平均工资案例30_增量抽取案例31_缓慢变化维案例32_对文件数据的读取写入33_项目1薪酬统计项目介绍34_Informatica 项目1薪酬统计项目接口入库ODS35_Informatica 项目1薪酬统计项目EDW层明细
表
临时
表
1sql36_Informatica 项目1薪酬统计项目EDW层明细
表
临时
表
2ETL37_Informatica 项目1薪酬统计EDW层明细
表
138_Informatica 项目1薪酬统计EDW层明细
表
239_Informatica 项目1薪酬统计EDW层明细
表
340_Informatica 项目1薪酬统计DM层月考勤统计报
表
41_Informatica 项目1开发DM层统计报
表
142_Informatica 项目1开发DM层统计报
表
243_Informatica 项目1开发DM层统计报
表
344_Informatica 项目1开发DM层薪资报
表
145_Informatica 项目1开发DM层薪资报
表
246_Informatica 项目1开发DM层薪资报
表
347_Informatica 项目2计费系统项目介绍48_Informatica 项目2计算系统项目ODS层49_Informatica 项目2计费系统EDW层150_Informatica 项目2计费系统EDW层251_Informatica 项目2计费系统EDW层352_Informatica 项目2计费系统DM层
jdbc基础和参考
jdbc: 1.数据库连接的方式: ODBC:开放式数据库连接。 C语言实现的,提供语言和(基于SQL的)数据库进行交互的“一致性”的接口 JDBC:java版本的ODBC JDBC连接数据库的步骤: 1.注册驱动(加载驱动): 注册的方式: 1.使用类加载器(使用反射的方式) Class.forName(driverName); 2.实例化Driver Driver driver = new
oracle
.jdbc.driver.
Oracle
Driver(); DriverManager.registerDriver(driver); 3.加虚拟机参数jdbc.drivers -Djdbc.drivers=
oracle
.jdbc.driver.
Oracle
Driver 4.从Jdk6.0以后要求,JDBC 4.0 Drivers 必须包括 META-INF/services/java.sql.Driver 文件,有了这个文件以后不需要在显示的使用Class.forName来进行驱动的注册
Oracle
数据库进行连接的时候,使用的驱动类: 1.
oracle
.jdbc.driver.
Oracle
Driver 2.
oracle
.jdbc.
Oracle
Driver 2.建立连接 连接方式: 1.DriverManager(
中
的getConnection其实也是调用的Driver.connect方法) getConnection(url);//没有用户名密码 //将用户名密码存放在java.util.Properties对象
中
getConnection(url,properties); getConnection(url,user,passwd); 2.直接调用Driver.connect方法执行 Driver d = new DriverClass(); d.connect(url,properties); 3.创建Statement: Statement: 1.创建时不需要传递sql语句,但是执行时需要传递sql语句 2.如果涉及到动态参数的传递,必须使用字符串拼接 PreparedStatement: 1.创建时就需要传递sql语句,执行的时候不需要传递sql语句 2.如果涉及到动态参数的传递,可以使用字符串拼接,也可以使用?占位的形式 给?号传值使用的是 pstmt.setType(index,value); index从1开始 3.提供预编译的功能,某种程度上可以避免sql注入的问题 4.提前做语法检查,在给?赋值的过程
中
要求数据类型一定要匹配,这样在某种程度上可以避免因为数据类型不匹配而发生的异常 CallableStatement:主要用来执行pl/sql的一些过程,函数等。 1.写一条恒成立的select语句,无论你输入的条件是什么,总是能讲
表
中
的所有数据输出 select id,last_name from s_
emp
where '1' ='1'; where 1=1; findByOption(Integer age,String province,String gender){ String sql = select * from s_
emp
where 1=1; if(age!=null){ sql + "and age < age"; } if(province!=null){ sql + "and province=province"; } if(gender!=null){ sql + "and gender = gender"; } } 4.执行sql语句: e
xe
cute:返回boolean类型的值,代
表
是否有结果集返回(如果执行select操作,是有ResultSet的,返回值为true) e
xe
cuteUpdate:返回int类型的值,代
表
的是,操作执行完成后,受影响的数据库的行计数(针对于insert,update,delete) e
xe
cuteQuery:返回的是ResultSet ResultSet:类似于指针或者游标的东西,里边保存的不是所有的结果,而是指向结果集的正上方。所以如果一旦连接关闭那么ResultSet将取不到值 5.处理结果 如果有结果集,处理结果集 ResultSet next(),每执行一次,向下移动一次,如果有值,返回true,如果没值返回false while(rs.next()){ rs.getType(index/columnName); 如果传的是index,那么索引是从1开始的。 select id,last_name from s_
emp
; 那么1代
表
的就是id,依次类推 } 6.关闭资源 先开的后关 D:\
oracle
xe
\app\
oracle
\product\10.2.0\server\jdbc\lib\ojdbc14.jar linux下启动数据库监听的命令: lsnrctl start; "select id from s_
emp
where name = '"+name+"'"; table s_user( id , name, age) class User{ } //分别使用Statement对象和PreparedStatement对象实现 public class JDBCTest{ //查找s_user
表
中
所有的数据,并且返回他们的集合 public Collection
findAll(){ } //按照名字进行删除 public int deleteUser(String name){ } //将user对象的信息更新到数据库
表
中
public int updateUser(User user){ } //讲User对象保存到数据库
中
public void insertUser(User user){ } } JDBC:本身自动帮我做事务管理的操作 AutoCommit = true; Connection.setAutoCommit(false); 正常: conn.commit(); 异常: conn.rollback(); JDBC批处理: addBatch e
xe
cuteBatch Statement PreparedStatement Statement{ 1.获取连接 getConnection(); 2.创建Statement conn.createStatement(); 3.执行sql语句 String sql .... insert delete update e
xe
cuteUpdate select ----- Result e
xe
cuteQuery 4.如果有结果集处理结果集 5.资源关闭 } Statement: update/delete/insert: stmtE
xe
cute(String sql){ 1.获取连接 getConnection(); 2.创建Statement conn.createStatement(); 3.执行sql语句 stmt.e
xe
cute(sql); 4.资源关闭 } Select: stmtQuery(String sql,ResultHander handler){ 1.获取连接 getConnection(); 2.创建Statement conn.createStatement(); 3.执行sql语句 ResultSet set = e
xe
cuteQuery 4.如果有结果集处理结果集 handler!=null handler.handler(set); 5.资源关闭 } 结果集处理的规则: ResultHandler{ handler(ResultSet rs); } PreparedStatement update/delete/insert: pstmtE
xe
cute(String sql,PstmtSetter setter){ 1.获取连接 getConnection(); 2.创建PreparedStatement conn.prepareStatement(sql); if(setter!=null){ setter.setter(pstmt); } 3.执行sql语句 pstmt.e
xe
cute(sql); 4.资源关闭 } ?设值的标准: PstmtSetter{ setter(PreparedStatement pstmt); } Select: stmtQuery(String sql,PstmtSetter setter,ResultHander handler){ 1.获取连接 getConnection(); 2.创建PreparedStatement conn.prepareStatement(); setter!=null setter.setter(pstmt); 3.执行sql语句 ResultSet set = e
xe
cuteQuery 4.如果有结果集处理结果集 handler!=null handler.handler(set); 5.资源关闭 } 结果集处理的规则: ResultHandler{ handler(ResultSet rs); }
表
现层 业务逻辑层 持久层 java
中
的对象分为: 1.域对象:主要作为信息的载体 2.行为对象:注重操作 Register(User user){ } insert(User user){ String sql = "insert into s_user( user.getId()+user.getName().......)"; } insert(User user){ save(user); } ORM Object Relational Class-Object
表
名字
表
名 属性 字段(列) object 记录 User s_User id id name name passwd passwd insert into s_user(id,name,passwd) values(?,?,?); Hibernate:ORM的
中
间件,或者说是实现了ORM的一个框架,对JDBC做了轻量级的封装。 ORM:使用元数据信息来描述对象和数据库之间的关系,并且能够自动实现java
中
持久化对象到关系型数据库
中
表
的映射 脏检查:自动对缓存
中
的数据进行检查,并且选择在合适的时机和数据库之间进行交互,以保持数据的一致性 延迟加载:从数据库
中
还原对象的时候,不会立即对对象进行初始化,而是等到用到的时候才会进行初始化 Core: POJO hibernate.cfg.xml .hbm.xml Session: 1.轻量级的,创建和销毁不需要消耗很大的资源 2.非线程安全的 3.hibernate的一级缓存 4.介于Connection和Transaction之间的一个对象 5.hibernate
中
用来做持久化操作的 SessionFactory 1.重量级的,创建和销毁需要消耗很大的资源,不建议频繁创建和销毁 2.线程安全的,一个数据库对应一个Sessionfactory(一般一个应用程序对应一个SessionFactory就够了) 3.是一个很大的缓存,本身维护了一个可配置的二级缓存 4.用来构建Session对象 Configuration 1.启动和配置Hibernate 2.读取hibernate的配置文件和映射文件 3.构建SessionFactory对象 Transaction 1.事务管理对象 Query 1.查询对象,HQL Criteria 1.hibernate提供的更面向对象的一种查询方式。 准备工作: 1.java
中
的POJO对象存在 2.数据库,
表
得存在 3.hibernate的配置文件(hibernate.cfg.xml)得存在 4.POJO.hbm.xml文件存在 5.hibernate的jar包以及数据库的驱动包存在 Hibernate的编程: 1.构建Configuration对象读取配置文件 2.读取映射文件 3.构建SessionFactory对象 4.构建Session对象 5.开启事务 6.持久化操作 7.事务的提交(正常提交,不正常回滚) 8.关闭资源 主键增长策略: 1.increment:自动增长 select max(id) from table; 找到最大值之后+1赋给要持久化的对象 2.assigned:指派 hibernate不在自动生成主键值,需要你在插入时自己指明 3.hilo:高低值算法,由数据库
表
提供高值,程序提供低值 value = hi*(max_lo+1)+lo 4.sequences Cat: cid name color weight age --------------------------- 1.每个人都有一个地址 person{ id name } Address{ country province city street } table: id name country province city street Component:数据库
中
采用一张
表
的设计,java
中
采用两个类的设计 -----------------------------------
Emp
loyee: id name salary award amount table id name salary award formula: ---------------------------- 关系模型: 多对一: 订单和客户之间的关系 Order{ id amount customer } Customer{ id name } many-to-one:标签
中
对于cascade的取值delete,delete-orphan,all-delete-orphan(只用unique属性值不为true不能出现)慎用 cascade:级联属性 none:不做任何级联操作 save-update:对当前对象执行save,update, saveOrupdate,会级联操作和它相关联的对象 delete:在删除当前对象的时候,级联删除和他相关联的对象 all: save-update+delete delete-orphan:解除关联关系时,删除和当前对象失去关联的对象 all-delete-orphan:all+delete-orphan 单向的一对多的关系,在进行关联关系的操作时,会执行不必要的update语句,所以,一般情况下,我们不会做单向一对多的映射。 inverse="true":让其
中
一方放弃对关联关系的维护 一般在做双向多对一(一对多)关联关系映射的时候,一般会设置让一的一方放弃对关联关系的维护,以减少不必要的更新语句 一对一: 基于外键的一对一 Wife Husband id id name name h_id references Husband(id) unique 基于主键的一对一 Wife Husband id references Husband(id) id name name create table Husband( id number primary key, name varchar2(15) ); create table Wife( id number primary key references husband(id), name varchar2(15) ); 多对多: Teacher Student id id name name 桥
表
:s_t s_id t_id ------------------------------ 操作持久化对象: Hibernate
中
对象的三种状态: Transient(瞬态): 1.由new关键字创建 2.没有和Session进行关联的 3.数据库
中
没有对应的记录存在 4.操作不会影响数据库
中
的数据 Persistent(持久态): 1.和Session之间有关联 2.在数据库
中
有对应记录存在,并且有持久化标识 3.对持久对象的更动,会对数据库
中
的数据产生影响。(自动脏检查机制) Detached(托管状态): 1.和Session失去关联 2.数据库
中
有对应记录存在 3.对托管对象的更动,在托管期间不会影响数据库,但是将托管状态重新和数据库进行关联的时候会将托管对象重新变为持久态,那么在托管期间发生的更动也会被更新到数据库
中
get()/load():从数据库
中
还原数据 get: 1.先从缓存
中
进行查找,如果找到就直接返回 2.如果找不到,get()会立即发送sql语句到数据库
中
查找数据,如果找到就返回,如果找不到返回null; load:(使用延迟加载策略) 1.load()方法默认要加载的对象一定存在,所以很放心的使用代理对象,等到用到的时候从缓存
中
查找数据,如果找到,就返回,找不到发送sql语句到数据库
中
查找,如果数据库
中
没有对应记录存在,抛ObjectNotFoundException Hibernate
中
的查询: 1.OID检索: get load 2.导航对象图查询: Customer ---- Order之间有对应关系 通过检索到Customer以后,想获取和Customer相关的对象,可以使用 cus.getOrders(); 3.HQL: Query sql: select name from t_cus; hql: select name from hiber.many2one.Customer query.list(); 直接发送一条select语句去
表
中
查找所有的属性 query.iterate(); 先发送一条select语句从
表
中
查找所有的id,然后根据id从缓存
中
进行查找,找到就返回,找不到再发送sql语句按id从数据库
中
进行查找,所以可能会产生N+1的问题 Customer order select from customer order where customer.id=order.c_id; 4.QBC(Query By Criteria) Criteria Restrictions Order Projections QBE(Query By Example) 5.sql A B 总额 《 4000 - 100 1900 2100 900 Session默认在遇到以下情况的时候会flush: 1.事务提交的时候 2.某些查询操作执行的时候(不是所有的查询) 3.当应用程序显示的调用session.flush操作的时候 悲观锁: LockMode LockMode.UPGRADE:借助于数据库的 select ... for update; 那么事务一定会等到上一个获取了锁的事务commit之后才执行,如果上一个事务一直不提交,那么它就一直等下去 LockMode.UPGRADE_NOWAIT: select ... for update nowait; nowait就是不等待,一旦在操作过程
中
发现要操作的数据被加了锁,那么直接抛 ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源 乐观锁: 版本控制(version) 时间戳(timestamp)
Oracle
中
scott用户的
emp
、dept、bonus、salgrade建
表
代码与数据
由于电脑装的是
Oracle
12C,大家都知道12C是不能直接调用scott用户的,然而scott
中
自带的四张
表
可谓设计得非常好,使用也非常广泛。那么要用到scott自带的
表
怎么办呢?——自己建哈。 注意:在
emp
表
中
插入数据的时候一定要注意日期的格式,否则会报错。 创建 scott 数据库
中
的 dept
表
create table dept( -- 部门编号 dept...
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章