Oracle百问百答(二)

11. nvl函数有什么用?

NVL( string1, replace_with)

功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。

注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。

例:NVL(TO_CHAR(numeric_column), 'some string') 其中numeric_column代指某个数字类型的值。

12. 数据库名和数据库实例名有什么区别?

数据库名是用于区分数据库的一个内部标识,是以二进制方式存储在数据库控制文件中的参数。数据库创建之后不能再修改这个参数。数据库创建后,它被写入数据库参数文件pfile或Spfile中。格式如下:

db_name="orcl"

db_domain=dbcenter.toys.com

instance_name=orcl

service_names=orcl.dbcenter.toys.com

数据库实例是操作数据库的实体,用户通过实例与数据库交互。实例名用来标识这个数据库实例。数据库创建后,实例名可以被修改。也在数据库参数文件pfile或Spfile中。格式如下:

instance_name=orcl

service_names=orcl.dbcenter.toys.com

数据库名与实例名可以相同。一个数据库对应一个实例的情况下设置成相同的便于标识数据库。

13.简述profile的作用?

profile是口令限制,资源限制的命令集合,当建立数据库的,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那么oracle就会将default分配给用户。

账户锁定:
概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令。
例子:指定scott这个用户最多只能尝试3次登陆,锁定时间为2天,让我们看看怎么实现。
创建profile文件
SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

SQL> alter user scott profile lock_account;

给账户解锁:
SQL> alter user tea lock_account unlock;

14.简述存储过程的用法?

创建:

create or replace procedure a_proc(a_name IN varchar2,a_num OUT number)

is

num_1 number;

num_2 number;

begin

select stu_id,age into num_1,num_2 from stuinfo

where stu_name=a_name;

a_num:=num_1*num_2;

end;

调用:

SQL> set serveroutput on

SQL> declare tname varchar(20);

2  tnum number;

3  begin

4  tname:='gggzz';

5  a_proc(tname,tnum);

6  dbms_output.put_line(tnum);

7  end;

8  /

位字符?

16.怎样以首字母大写后面小写的方式显示员工姓名?

17.怎样显示满10年服务年限的员工的姓名和工号?

18.怎样显示入职日期在当月最后十天入职的员工姓名和工号?

19.cmd命令窗口有哪些常用快捷键?

↑ 返回上一个命令,↓返回下一个命令, →逐个字符返回上个命令
F8 逐个返回上一个命令,但光标处于第一个字符
F3 仅能返回上一个命令
F7 弹出命令历史记录窗口,结合↑↓按键选择命令,回车执行选中的命令。太长的命令可以使用→键在cmd窗口查看。home切换到第一个命令,end最后一个,PageDown、PageUp翻页查看。
F9 输入命令号码,该号码由F7中命令记录来定义。如果要多次执行某个命令,而且是长命令,可以使用该技巧。或许更有效率。
Alt+PrintScreen 对cmd窗口进行截图。
insert 使光标转换为插入状态,键入字符时可以替换光标当前字符。

20.表中重复的记录是怎样查询的?

a、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people where peopleId in (select  peopleId  from people  group by  peopleId  having count(peopleId) > 1)

b、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)
and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)
c、查找表中多余的重复记录(多个字段)

select * from vitae awhere (a.peopleId,a.seq) in  (select peopleId,seq from vitae

group by  peopleId,seq  having count(*) > 1)
d、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae awhere (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
e、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae awhere (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

Oracle百问百答(二)的更多相关文章

  1. Oracle百问百答(一)

    Oracle百问百答(一) 01.如何查看oracle的版本信息? 02.如何查看系统被锁的事务信息? 03.怎么获取有哪些用户在使用数据库? 04. 数据表中的字段最大数是多少? 表或视图中的最大列 ...

  2. Oracle百问百答(四)

    Oracle百问百答(四) 31.怎样查看某用户下的表? select table_name from all_tables where owner=upper('jhemr'); 32.怎样查看某用 ...

  3. k3 Bos开发百问百答

              K/3 BOS开发百问百答   (版本:V1.1)           K3产品市场部       目录 一.基础资料篇__ 1 [摘要]bos基础资料的显示问题_ 1 [摘要]单 ...

  4. [转自itilxf论坛]iTop百问百答

    iTop是什么,和其他itsm软件相比有什么优势?iTop,是一个开源web应用程序,用于IT环境的日常运营.它基于ITIL最佳实践,而又不拘泥于任何具体流程. 优势: 1. 开源,扩展性强容易开发. ...

  5. SEO百问

    SEO 的工作过程中,大家都会碰到很多这样或那样的问题,做 SEO 随着时间慢慢变长之后,知识会慢慢地积累,之前的问题也会慢慢的都被解答.这里是码动世界为大家整理的有关 SEO 百问百答. 1. 百度 ...

  6. 开发者福利!百问I.MX6ULL裸机文档发布

    终于等到你,百问科技近600页的100ask_imx6ull裸机文档发布,已经合并到“嵌入式Linux应用开发完全手册第2版_韦东山全系列视频文档全集.pdf(1222页)”,所有人免费下载学习. 本 ...

  7. 微信小程序参数二维码6问6答

    微信小程序参数二维码[基础知识篇],从6个常见问题了解小程序参数二维码的入门知识. 1.什么是小程序参数码? 微信小程序参数二维码:针对小程序特定页面,设定相应参数值,用户扫描后进入相应的页面. 2. ...

  8. Java千百问_05面向对象(005)_接口和抽象类有什么差别

    点击进入_很多其它_Java千百问 1.接口和抽象类有什么差别 在Java语言中.抽象类abstract class和接口interface是抽象定义的两种机制. 正是因为这两种机制的存在,才赋予了J ...

  9. Java千百问_05面向对象(011)_引用传递和值传递有什么差别

    点击进入_很多其它_Java千百问 1.什么是值传递 值传递,是将内存空间中某个存储单元中存放的值,传送给还有一个存储单元.(java中的存储单元并不是物理内存的地址,但具有相关性) 比如: //定义 ...

随机推荐

  1. JS中window.document对象

    小知识点注:外面双引号,里面的双引号改为单引号:                  在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中                  文本框取出来 ...

  2. UIScrollView的几个要点总结

    从你的手指touch屏幕开始,scrollView开始一个timer,如果: 1.  150ms内如果你的手指没有任何动作,消息就会传给subView. 2.  150ms内手指有明显的滑动(一个sw ...

  3. 新到的Mac配置Java开发环境

    今天Mac到手,需要配置一些用到的开发环境,在这里做一些纪录. 1. 下载Eclipse,地址:http://www.eclipse.org/downloads/,因为个人需求,所以下载的是Java ...

  4. STL之deque(双向队列)

    deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque在vector函数的基础上增 ...

  5. Collection类学习笔记

    binarySearch原理: public static index halfSearch(List<String> list, String key) { int max,min,mi ...

  6. HTML5 总结-Web存储-7

    HTML 5 Web 存储 在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 ses ...

  7. SQL Identity自增列清零方法

    1.使用DBCC控制台命令: dbcc checkident(表名,RESEED,0) 2.truncate table 也可将当前标识值清零 但当有外键等约束时,无法truncate表 可以先禁用外 ...

  8. WebHdfs

    https://github.com/ihrwein/webhdfs https://tiborbenke.blogs.balabit.com/2013/11/the-syslog-ng-in-the ...

  9. Cygwin ssh

    http://www.evalumation.com/blog/86-cygwin-windows7-sshd

  10. OI不得不知的那些数学定理

    Binomial theorem One can define\[{r \choose k}=\frac{r\,(r-1) \cdots (r-k+1)}{k!} =\frac{(r)_k}{k!}\ ...