Oracle442个应用场景-----------数据库逻辑对象管理应用场景(一)

2015-07-24 06:21:55 · 作者: · 浏览: 1


应用场景128:创建临时表

创建一个保存临时选择商品信息的临时表temp_goods

CREATE GLOBAL TEMPORARY TABLE temp_goods
(GoodsId NUMBER,
GoodsNum NUMBER,
Price NUMBER)
ON COMMIT DELETE ROWS;

创建一个临时表空间

CREATE TEMPORARY TABLESPACE tbs_t1
TEMPFILE 'tbs_t1.f' SIZE 50m REUSE AUTOEXTEND ON
MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K;

在表空间tb_t1中创建temp_goods1;

CREATE GLOBAL TEMPORARY TABLE temp_goods1
(GoodsId NUMBER,
GoodsNum NUMBER,
Price NUMBER)
ON COMMIT DELETE ROWS
TABLESPACE tbs_t1;

应用场景129:查看表信息的系统视图

COL TABLE_NAME FORMAT A10
COL COLUMN_NAME FORMAT A10
COL DATA_TYPE FORMAT A10
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, LAST_ANALYZED
FROM DBA_TAB_COLUMNS
WHERE TABLE_NAME = 'EMPLOYEES';

应用场景130:在Enterprise Manager中修改表

应用场景131使用DESC语句查看表结果

查看表employee结果的语句如下:

DESC SYSTEM.Employee

使用场景132:使用ALTER TABLE语句向表中添加列

ALTER TABLE SYSTEM.Departments ADD (Description VARCHAR2(1000));

应用场景133:使用ALTER TABLE语句修改列名

ALTER TABLE SYSTEM.Departments
RENAME COLUMN Description TO Descript;

应用场景134:使用ALTER TABLE语句删除队列

ALTER TABLE HRMAN.Departments
RENAME COLUMN Description TO Descript;

应用场景136:创建和验证主键约束

ALTER TABLE HRMAN.Departments ADD (Description varchar2(1000));
DESC HRMAN.Departments;
ALTER TABLE HRMAN.Departments
SET UNUSED (Description);
DESC HRMAN.Departments;
删除表中所有不可用列:
ALTER TABLE HRMAN.Departments
DROP UNUSED COLUMNS;


应用场景137:创建和验证非空约束

创建表user2并指定username列和userpwd列为非空约束

CREATE TABLE HRMAN.Users2
(UserId NUMBER,
UserName VARCHAR2(40) NOT NULL,
UserPwd VARCHAR2(40) NOT NULL,
CONSTRAINT PK_USERID PRIMARY KEY(UserId)
);

将约束中的username列设置为 not null

ALTER TABLE HRMAN.Users MODIFY UserName NOT NULL;

使用下面的语句可以将列设置为空:

ALTER TABLE HRMAN.Users MODIFY UserName NULL;

向表user2中插入数据器username值为null:

INSERT INTO HRMAN.Users2 (UserId, UserPwd) VALUES(1,'123456');


应用场景138:创建验证唯一约束

在uername上建立唯一约束:

CREATE TABLE Users3
(UserId Number Primary Key,
UserName Varchar2(40) NOT NULL UNIQUE,
UserPwd Varchar2(40) NOT NULL
);
创建user4,其结构与表user完全相同:
CREATE TABLE HRMAN.Users4
(UserId NUMBER PRIMARY KEY,
UserName VRCHAR2(40),
UserPwd VARCHAR2(40),
CONSTRAINT UK_USERNAME UNIQUE(UserName)
);

将表user的username列设置唯一约束:
ALTER TABLE HRMAN. Users
ADD CONSTRAINT UK_USERNAME1
UNIQUE(UserName);

使用insert向表user中插入两条记录使他们列值是重复的:username=test-》

INSERT INTO HRMAN.Users VALUES(100, 'test', 'test');
INSERT INTO HRMAN.Users VALUES(101, 'test', '1234');


应用场景139:创建验证检查约束

在username列上定义检查约束:
CREATE TABLE HRMAN.Users5
(UserId number PRIMARY KEY,
UserName varchar2(40),
UserPwd varchar2(40)
CONSTRAINT CK_USERPWD CHECK(LENGTH(UserPwd)>=6)
);

使用alter创建检查约束:

ALTER TABLE HRMAN. Users
ADD CONSTRAINT CK_USERPWD1 CHECK(LENGTH(UserPwd)>=6);

使用insert插入记录是userpwd的列值得长度小于6:

INSERT INTO HRMAN.Users VALUES(102, 'user', 'pwd');

应用场景140:创建和验证外键约束

为表departments的dep_id列和表employee的dep_id列创建外键约束fk_emp_depid:、

ALTER TABLE HRMAN.Employees
ADD CONSTRAINT FK_EMP_DEPID
FOREIGN KEY(Dep_id) REFERENCES HRMAN.Departments(Dep_id);

向表中插入一条记录:

INSERT INTO HRMAN.Employees (Emp_id, Emp_name, Dep_id)
VALUES (1, 'Johney', 3);

应用场景141:设置DEFAULT列的属性

创建表users6,设置userpwd的默认值为:11111:

CREATE TABLE HRMAN.Users6
(UserId Number Primary Key,
UserName Varchar2(40) NOT NULL UNIQUE,
UserPwd Varchar2(40) DEFAULT('111111')
);

向表中插入一条记录:

INSERT INTO HRMAN.Users6 (UserId, UserName) VALUES(1, 'user');

应用场景142:删除表

DROP TABLE HRMAN.USERS;

应用场景143: