Oracle使用学习经验总结
张浩博客http://zhanghao007008.blog.163.com
1. 新型企业级智能数据管理系统---Sybase ASE 12.5(Adaptive Server Enterprise)
2. ** 17260, "Can't run %1! from within a transaction."
3. 在创建存储过程 CREAT之前编写存储过程德 错误编号说明
4. charindex("sa_role", show_role())
5. begin
6. @@trancount
1. 修改sybase数据库sa用户密码
2.
3. env查看环境变量
4. linux中.bash_profile和.bashrc的什么区别
5. 数据库中执行“存储”过程。
6. bcp导入、导出数据,备份数据库、备份表格数据、备份数据
●bcp
7. 附录1、英文错误码描述:(灵活运用!!!)
1.A user with the same name already exists in the database
在数据库中已经存在相同的一个用户
2.is not a valid name
不是一个可用的名字
3.User already has a login under a different name.
用户已经用一个不同的名字登录了
4.No login with the specified name exists
没有登录
5.Timerange name must be non-NULL
时间范围名字必须不为空
6.Limit type must be non-NULL
限制类型必须不为空
7.Unknown limit type
不可知的限制类型
8.Ge
获得开始结束时间从当前的范围
9.
8. 附录2、错误语句:
9. 附录3、错误语句:
10. 附录4、错误语句:
11. 附录5、错误语句:
1.
2.
3.
4.
5.
一、学会操作库
首先在命令行:输入sqlplus 以sys as sysdba登录后操作
(在unix下先输入 su – oracle切换到Oracle后,再输入sqplus同上)
1、怎样创建一个库?
命令如下:
//创建表空间
Create tablespace NMJY datafile 'D:\app\Administrator\product\11.2.0\dbhome_1/oradata/NMJY.dbf' size 200M reuse autoextend on next 1280K maxsize unlimited;
//创建用户 并设置默认表空间
create user NMJY identified by nmjy2011 default tablespace NMJY quota 10m on users;
//授权
grant connect,resource,dba to NMJY ;
grant sysdba to NMJY ;//此处授予最高权限
commit;//提交操作
2、怎样删除一个库?
命令如下:
//删表空间
drop tablespace lvyong including contents;
//删用户
drop user nmjy cascade;
3、怎样备份和还原库?
创建目录语句:CREATE DIRECTORY dumdir as ‘d:dump’;
下面以备份和还原unix下的nmjy库为例:
--切换到oracle(windows下不需切换)
su - oracle
--备份(此处路径名是自己创建的dumdir,也可以自己直接输入指定路径)
expdp nmjy/nmjy2011@orcl schemas=nmjy DIRECTORY=dumdir dumpfile=nmjy11117.dmp ;
【说明:命令(expdp)库(nmjy)/密码(nmjy2011)@服务器(orcl) shemas=用户(nmjy)路径(DIRECTORY )=dumdir dumpfile=文件名(nmjy11117.dmp)】
--还原
Impdp nmjy/nmjy2011@orcl DIRECTORY=dumdir DUMPFILE=NMJY11117.DMP
【说明同上】
二、 怎样从sql server导入表到oracle
在此借助开发工具Visual Studio2008:
1、打开Visual Studio2008 ,在工具栏中找到“连接到数据库”,点击后添加一个Oracle库的连接,
在服务资源管理器中找到此连接,,右击点‘导入表…’
弹出如下页面:
点新建一个连接,之后:
然后更改连接,选择Sql Server,如下:确定后,根据向导向后操作,到如下页:
选择要导入的表,防止和Oracle库的已存在的表名冲动,统一在表名后加了个1,下一步检查列类型,
把NCLOB类型转为varchar2(4000),节省不需要的空间,然后点完成即导入。
之后再通过PLSQL工具到把带1的表中数据导入到对应表中
注:Oracle是严格区分大小写的,凡牵扯到用户ID之类的务必用Upper()转换后导入。
说明:在Oracle库之间导入数据的时候,也可用此办法。
三、 SqlServer 和Oracle语句编码比较
经过这一段时间的Oracle版本程序和数据库的修改,总结如下:
1、在后台C#代码中拼Sql语句执行的时候,用begin…end ,中间是需执行语句且以分号结尾
2、凡是关于用户ID查询的,请转换成大写后再执行查询
3、新增用户或子用户的功能,也要注意把用户ID转成大写后再插入数据库
4、在SqlServer中的字符串连接是用+,Oracle中的字符串连接是用||
5、SqlServer中的字符串转换函数可以用convert、cast,Oracle中是用to_char、cast,
为了通用,建议平时养成用cast的习惯
6、读取前10行,SqlServer中是用select top 10 from table,Oracle是用select * from table where rownum<=10
7、Oracle读取随机10个数据的方法如下(类似Sql Server里的top,order by newid()语句) :
前两种比较慢
---第一种
select * from (
select * from tb_company order by SYS_GUID()
) a where rownum<=10
--第二种
select * from (
select * from tb_company order by dbms_random.value
) where rownum<=10
--第三种
select * from tb_company sample(10) where rownum <= 10
6、--Oracle里判断一个表是否存在,然后删除 (类似Sql server里的if exists语句)
begin
execute immediate 'drop table JUSTTABLE';
exception WHEN OTHERS THEN NULL;
end;
8、SqlServer中的insert语句可以省略into,Oracle中必须要加into
9、SqlServer 中的判断为是否空的函数是isnull(column,’空’), Oracle中判断是否空是NVL(column,‘空’)
10、 修改表中列的属性:
SqlServer中是alter table alter column 列名 类型,Oracle中是alter table modify 列名 类型
9、凡是手动操作数据库时,要在最后一步执行Commit命令语句确认
个人总结学习Dreamweaver的这一个学期张老师讲了Dreamweaver知识和基本的PHP知识让我受益匪浅自己能够做一个小型…
Dreamweaver网页制作技巧心得体会熟悉网页设计的网友就知道,调用Style的方法很多,我们可以单击鼠标右键选择Custon…
Dreamweaver课程总结Web静态页面与浏览器基础知识:web静态页面:web静态页面是指在浏览器显示出来的一系列的文字和各…
任务驱动教学的实践与探索----------谈《Dreamweaver网页设计》的实践教学刘敏:《任务驱动教学反思与重建》提出“任…
第一章网页设计基础一TCPIP协议传输控制协议互联网络协议TCP和IP可以单独使用但经常是协同工作互相补充简单地说IP提供了数据传…
Oracle实训总结系别:信管院班级:姓名:浦江峰学号:1132304112日期:20xx年x月x日实训总结:由于感到oracle…
oracle数据库学习总结基础一ORACLE中字段的数据类型1字符型1char范围最大20xx个字节定长char1039张三39后…
Oracle数据库学习总结1setlinesizexx设置行间距常用数值有1002003002setpagesizexx设置每页显…
表xyzabc1mhj1mhjk1njk2uwe2uwert3qs4ads4adsaa怎么删掉第158条记录字段ab相同的几条记录…
ORACLE学习笔记一ORACLE的启动和关闭1在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户如下suo…