设为首页 加入收藏

TOP

Oracle基础函数及对象示例学习总结(二)
2015-11-21 01:56:51 来源: 作者: 【 】 浏览:1
Tags:Oracle 基础 函数 对象 示例 学习 总结
ame, job_id, salary, DECODE(job_id, 'IT_PROG', 1.10*salary, 'ST_CLERK', 1.15*salary, 'SA_REP', 1.20*salary, salary) REVISED_SALARY FROM employees; --CASE THEN示例 CASE WHEN THEN WHEN THEN ELSE END SELECT last_name, job_id, salary, CASE job_id WHEN 'IT_PROG' THEN 1.10*salary WHEN 'ST_CLERK' THEN 1.15*salary WHEN 'SA_REP' THEN 1.20*salary ELSE salary END "REVISED_SALARY" FROM employees; --##分组函数 AVG COUNT MAX MIN SUM STDDEV VARIANCE /* IN、ANY、ALL运算符 IN 等于列表中的任意一个。 < ANY 意味着低于最高值;> ANY 意味着高于最低值;= ANY 等同于 IN。 < ALL 意味着低于最低值;> ANY 意味着高于最高低值。 示例: SELECT employee_id, last_name, job_id, salary FROM employees WHERE salary < ANY (SELECT salary FROM employees WHERE job_id = 'IT_PROG') AND job_id <> 'IT_PROG'; */ --创建脚本示例 INSERT INTO departments (department_id, department_name, location_id) VALUES (&"Department Id",'&"Department Name"',&Location_Id); /* MERGE语句 提供有条件地在数据表中更新或插入数据的功能。 如果该行存在就执行UPDATE,如果是新行则执行INSERT 示例:在COPY_EMP表中插入或更新行,以便与EMPLOYEES表匹配 MERGE INTO copy_emp c USING employees e ON (c.employee_id = e.employee_id) WHEN MATCHED THEN UPDATE SET c.first_name = e.first_name, c.last_name = e.last_name, ... c.department_id = e.department_id WHEN NOT MATCHED THEN INSERT VALUES(e.employee_id, e.first_name, e.last_name, e.email, e.phone_number, e.hire_date, e.job_id, e.salary, e.commission_pct, e.manager_id, e.department_id); */ --显式事务控制语句 COMMIT ROLLBACK SAVEPOINT name_values ROLLBACK TO SAVEPOINT name_values --ALTER TABLE语句示例 ALTER TABLE dept80 ADD (job_id VARCHAR2(9)); ALTER TABLE dept80 MODIFY (last_name VARCHAR2(30)); ALTER TABLE dept80 DROP COLUMN job_id; --SET UNUSED标记不可用与删除表全部不可用字段 ALTER TABLE emp SET UNUSED(department_id) ALTER TABLE emp DROP UNUSED COLUMNS; --不能删除某一个不可用字段,若删除将全部删除。 --RENAME重命名对象 RENAME employees2 TO emp --COMMENT向表中添加字段 COMMENT ON TABLE employees IS 'Employee Information'; --约束类型 NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK CREATE TABLE employees( employee_id NUMBER(6), first_name VARCHAR2(20), ... job_id VARCHAR2(10) NOT NULL, CONSTRAINT emp_emp_id_pk PRIMARY KEY (EMPLOYEE_ID)); CREATE TABLE employees( employee_id NUMBER(6), email VARCHAR2(25), ... department_id NUMBER(4), CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id), CONSTRAINT emp_email_uk UNIQUE(email)); CREATE TABLE employees( employee_id NUMBER(6), hire_date DATE NOT NULL, ... CONSTRAINT emp_email_uk UNIQUE(email)); CREATE TABLE employees( employee_id NUMBER(6), ... salary NUMBER(2) CONSTRAINT emp_salary_min CHECK (salary > 0),... ALTER TABLE employees ADD CONSTRAINT emp_manager_fk FOREIGN KEY(manager_id) REFERENCES employees(employee_id); ALTER TABLE employees DROP CONSTRAINT emp_manager_fk; ALTER TABLE departments DROP PRIMARY KEY CASCADE; --删除departments表上的PRIMARY KEY约束,并删除employees.department_id列上关联的FOREIGN KEY约束。 ALTER TABLE employees DISABLE CONSTRAINT emp_emp_id_pk CASCADE; --禁用约束 ALTER TABLE employees ENABLE CONSTRAINT emp_emp_id_pk; --启用约束 /* 级联约束 CASCADE CONSTRAINTS子句是和 DROP COLUMN子句一起使用的。 CASCADE CONSTRAINTS子句会删除涉及到在已删除列上定义的主键或唯一关键字的所有引用完整性约束。 CASCADE CONSTRAINTS子句还将删除在已删除列上定义的?多列约束。 CREATE TABLE test1 ( pk NUMBER PRIMARY KEY, fk NUMBER, col1 NUMBER, col2 NUMBER, CONSTRAINT fk_constraint FOREIGN KEY (fk) REFERENCES test1, CONSTRAINT ck1 CHECK (pk > 0 and col1 > 0), CONSTRAINT ck2 CHECK (col2 > 0)); ALTER TAB
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇快速解决IMP中的ORA-00959 下一篇oraclesys_context()函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: