ORACLE习题

1.创建一个新的表a,表结构及数据与emp一致.

create table a as select * from emp;

2 增加主键约束

alter table a add constraint pk_a_01 primary key(EMPNO);

3.为a增加一个字段birthdate,类型date。

alter table a add(birthdate date);

4.将a表中ename字段修改为定长文本16,修改前将该列数据转移,该列置空,改后再将数据填充回来。

答案:

先把这个列改个列名,然后创建一个新列叫之前的名字,再复制这个字段的数据给新列,最后删除原先的列

alter table a rename column ename to new_ename;

alter table a add(ename varchar(16));

update a set ename=substr(trim(new_ename),1,16);

alter table a drop(new_ename);

时间: 2024-10-13 00:28:40

ORACLE习题的相关文章

oracle习题SQL语句练习

表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno Varchar2(3) 否 学号(主码) Sname Varchar2(8) 否 学生姓名 Ssex Varchar2(2) 否 学生性别 Sbirthday Date 可 学生出生年月 Class Varchar2(5) 可 学生所在班级 create table student ( Sno   varchar2(3) not null, Sname   varchar2(8) not null, Ssex   v

oracle习题练习-表空间-用户-表-约束

题一 1.       创建名字为hy_tablespace的表空间,默认大小为10M;@@ 2.       创建一个用户,用户名以自己名字命名,并指定命名空间为hy_tablespace;@@@@ 3.       给用户授予connect和resource角色: 4.       创建一张员工表(Emp),字段定义如下           empno    NUMBER(4), 员工编号           ename    VARCHAR2(10),     员工姓名          

Oracle数据库习题

以下习题都已Oracle数据库中默认表为主体 1.列出至少有一个员工的所有部门. SELECT DISTINCT D.DNAME FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO; SELECT * FROM DEPT WHERE DEPTNO IN(SELECT DISTINCT DEPTNO FROM EMP); SELECT DISTINCT D.DNAME FROM EMP E JOIN DEPT D USING(DEPTNO); 2.列出薪金比“SMI

Oracle数据库——触发器的创建与应用

一.涉及内容 1.理解触发器的概念.作用和类型. 2.练习触发器的创建和使用. 二.具体操作 (实验) 1.利用触发器对在scott.emp表上执行的DML操作进行安全性检查,只有scott用户登录数据库后才能向该表中执行DML操作.(第1题中,user是系统函数,返回当前用户.字符串中使用两个单引号表示一个单引号.) 要求:分别以system用户和scott用户对emp 表执行DML操作,试验触发器的运行效果. (1)在scott用户下创建触发器 语句: create or replace t

数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例 实验所用数据表 子查询,解决一步不能求解 查询工资比scott高的员工信息: 子查询知识体系搭建: 解释3,查询部门是sales的员工信息: 方法1:子查询 [方法2]:多表: 优化考虑: 解释4[select],只能放单行子查询 解释4[from] 考题:显示员工姓名,薪水 解释

Oracle 基本SQL SELECT语句

SELECT  *  |    {   [ DISTINCT  ]    column   |    expression   [   alias   ]  ,   ...    } FROM  table; ?SELECT  标识 选择哪些列. ?FROM    标识从哪个表中选择. column后面加上空格,同时跟上别名(alias),或者 as 别名,到下一行的内容时,要用逗号隔开, 默认的别名是小写的,如果想要让它是大写的,使用 "别名" 如果别名有多个单词的时候,用双引号别名

oracle 事务 锁机制

本课内容属于Oracle高级课程范畴,内容略微偏向理论性,但是与数据库程序开发和管理.优化密切相关:另外本课的部分内容在前面章节已经涉及,请注意理论联系实际. 事务  事务(Transaction)从 通讯的角度看:是用户定义的数据库操作序列,这些操作要么全做.要么全不做,是不可分割的一个工作单元.事务控制语句称为TCL,一般包括Commit和Rollback. 事务不是程序,事务和程序分属两个概念.在RDBMS中,一个事务可以有一条SQL语句.一组SQL语句或者整个程序:一个应用程序又通常包含

[Oracle系列整理01]PL/SQL 基本查询与排序

本课重点:    1.写SELECT语句进行数据库查询    2.进行数学运算    3.处理空值    4.使用别名ALIASES    5.连接列    6.在SQL PLUS中编辑缓冲,修改SQL SCRIPTS    7.ORDER BY进行排序输出.    8.使用WHERE 字段. 一.写SQL 命令:      不区分大小写.      SQL 语句用数字分行,在SQL PLUS中被称为缓冲区.      最后以:或 / 结束语句.      也可以用RUN来执行语句 二.例1:

oracle 方向及资料

总结了一下大家的意见,也加了一些个人的看法,Oracle的学习路径,可供参考: 初级阶段: 可以从OCP教材开始,还有文档中的Administrator's Guide.Concepts.Performance Tuning Guide.Backup and Recovery Advanced User's Guide.Backup and Recovery Basics.特别是Administrator's Guide.Concepts.Performance Tuning Guide,要详细