Oracle下SQL基本操作(三)(9)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:16 点击:

--MINUS   差,去掉公共部分
SELECT  EMP.EMPLOYEEID,EMP.NAME   FROM EMPLOYEE EMP
MINUS
SELECT  DEP.DEPTID,DEP.DEPTNAME   FROM DEPARTMENT DEP
---sequence创建序列
CREATE SEQUENCE EMPLVL_SEQ
  INCREMENT BY 1 --步长
  START WITH 1   -- 起始值
  NOMAXVALUE   --设置没有最大值
  NOCYCLE    --设置没有循环
  CACHE 5;  --缓存
---建表
CREATE TABLE EMPLVL
(LVLNO VARCHAR2(2),
 LOWSALARY NUMBER,
 HIGHSALARY NUMBER);
--EMPLVL_SEQ.NEXTVAL开始为起始值
INSERT INTO EMPLVL VALUES(EMPLVL_SEQ.NEXTVAL, 1000, 2000);
--以后为上一次的值加步长
INSERT INTO EMPLVL VALUES(EMPLVL_SEQ.NEXTVAL, 2001, 3000);
INSERT INTO EMPLVL VALUES(EMPLVL_SEQ.NEXTVAL, 3001, 4000);
---查询当前序列号
SELECT EMPLVL_SEQ.CURRVAL FROM DUAL;
--SELECT *FROM EMPLVL

----视图
---创建视图
CREATE OR REPLACE VIEW  SHITU
AS SELECT STU.ID,STU.NAME
    FROM STU
--像表一样操作视图
SELECT * FROM SHITU;
      
---事务控制
--创建表
CREATE TABLE STU(
  ID CHAR(10),
  NAME VARCHAR2(40) NOT NULL,
  SEX CHAR(1) CONSTRAINTS STU_SEX_NN NOT NULL,
  BIRTHDAY DATE,
  CONSTRAINTS STU_ID_PK PRIMARY KEY (ID)
);
---SELECT * FROM STU
INSERT INTO STU VALUES('0002', 'YAO','1',NULL);
--回滚
ROLLBACK;
--写入磁盘
COMMIT
 
INSERT INTO STU VALUES('0003', 'YAO','1',NULL);
INSERT INTO STU VALUES('0004', 'YAO','1',NULL);
--设置保存点
SAVEPOINT X;
INSERT INTO STU VALUES('0005', 'YAO','1',NULL);
INSERT INTO STU VALUES('0006', 'YAO','1',NULL);
--回滚到保存点
ROLLBACK TO SAVEPOINT X;
--写入磁盘
COMMIT;
 
 

-----带图片的表
CREATE TABLE IMAGEFILES (
  ID VARCHAR2(3),
  FILENAME VARCHAR2(40),
  IMAGE BLOB,
  CONSTRAINTS IMG_PK_ID PRIMARY KEY (ID)
);
select * from imagefiles for update
 
 
 
 
本文出自 “Enthusiasm   10年” 博客

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Table函数使用简介
  • Oracle数据库Constraint约束的常用操作及异常处理
  • Bulk Collect性能分析(zz)
  • export/import的使用
  • OCP043第十五讲 Database Security
  • ORACLE10gr2数据导入MySQL方案
  • oracle 让sys用户可以使用isqlplus
  • 在oracle数据库下使用iSQL*Plus DBA访问数据库
  • Oracle行列转换小结
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1