日期:2014-05-16  浏览次数:20343 次

oracle应用(二)

--创建临时表的两种方式

?---创建一个相同与原来表相同数据和结构的临时表
?create table newitemfile as? select * from itemfile;
?
? ---创建一个相同与原来表相同结构的临时表
?create table newitemfile as? select * from itemfile where 1<>1;
?
?
? ---创建一个相同与原来表部分相同结构的临时表
?create table newitemfile as? select? itemcode, itemdesc from itemfile where 1<>1;
?
? ---特殊的查询方式
?SELECT itemcode,itemdesc, max_level, max_level*2 "New Maximum Level" FROM itemfile;
?
---批量插入数据库表的方式
CREATE TABLE order_master(
? orderno VARCHAR2(5),
? odate DATE,??
? vencode VARCHAR2(5),
? ostatus CHAR(1),
? del_date DATE
);
? --设置临时修改日期的语言 ,易识别英文格式的月份
?alter session set nls_date_language=‘AMERICAN’
??? --设置临时修改日期的语言 ,易识别简体中文格式的月份
?alter session set nls_date_language=‘SIMPLIFIED CHINESE’
?
--一般插入方式
INSERT INTO order_master
VALUES('o001', '12-5月-05', 'V002', 'c', '25-5月-05');
----两个表的数据结构相同但是字段类型必须一一对应
INSERT INTO newvendor_master select * from vendor_master;
----两个表的数据结构部分相同但是字段类型必须一一对应
INSERT INTO newvendor_master(vencode,venname) select vencode,venname from vendor_master;

--基本操作方式
UPDATE vendor_master SET??? tel_no = '71645221'? WHERE? vencode = 'V002';

UPDATE order_master SET ostatus = 'c' ;

DELETE FROM order_master WHERE orderno='o006';

--回滚保存点的使用

UPDATE order_master
? SET??? del_date = '30-8月-05'
?? WHERE orderno <= 'o002';
?SAVEPOINT mark1;? --设置表存点
?? DELETE FROM order_master WHERE orderno = 'o002';
?SAVEPOINT mark2;
?ROLLBACK TO SAVEPOINT mark1;? --设置失败时的保存点的应用
COMMIT;

----数据权限的设置
---数据操作的权限的设置
? grant select, update? on order_master to xiaobai;
?
---数据字段的权限
? grant update(qty_hand,re_level) on itemfile to xiaobai;
?
? grant select on vendor_master to accounts with grant option;
?
?---回收权限的应用
? revoke select ,update on order_master from xiaobai;

? --添加数据
? INSERT INTO customer VALUES
? (001,'xiaobai','xiaobaipwd','13794476480','12-MAY-05');
? ---提交事务
? COMMIT;

?