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

Oracle 知识总结

?

【run;r;/的用法】

SQL> SELECT * FROM dept;

?

? ? DEPTNO DNAME ? ? ? ? ?LOC

---------- -------------- -------------

? ? ? ? 10 ACCOUNTING ? ? NEW YORK

? ? ? ? 20 RESEARCH ? ? ? DALLAS

? ? ? ? 30 SALES ? ? ? ? ?CHICAGO

? ? ? ? 40 OPERATIONS ? ? BOSTON

?

SQL> run

? 1* SELECT * FROM dept

?

? ? DEPTNO DNAME ? ? ? ? ?LOC

---------- -------------- -------------

? ? ? ? 10 ACCOUNTING ? ? NEW YORK

? ? ? ? 20 RESEARCH ? ? ? DALLAS

? ? ? ? 30 SALES ? ? ? ? ?CHICAGO

? ? ? ? 40 OPERATIONS ? ? BOSTON

?

SQL> r

? 1* SELECT * FROM dept

?

? ? DEPTNO DNAME ? ? ? ? ?LOC

---------- -------------- -------------

? ? ? ? 10 ACCOUNTING ? ? NEW YORK

? ? ? ? 20 RESEARCH ? ? ? DALLAS

? ? ? ? 30 SALES ? ? ? ? ?CHICAGO

? ? ? ? 40 OPERATIONS ? ? BOSTON

?

SQL> /

?

? ? DEPTNO DNAME ? ? ? ? ?LOC

---------- -------------- -------------

? ? ? ? 10 ACCOUNTING ? ? NEW YORK

? ? ? ? 20 RESEARCH ? ? ? DALLAS

? ? ? ? 30 SALES ? ? ? ? ?CHICAGO

? ? ? ? 40 OPERATIONS ? ? BOSTON

?

SQL>

?

?

【修改Oracle日期的默认格式】

SQL> alter session set NLS_date_format='YYYY-MM-DD';

?

【绑定变量查询】

SQL> SELECT * FROM dept t WHERE t.deptno = &dept_no;

输入 dept_no 的值: ?40

原值 ? ?1: SELECT * FROM dept t WHERE t.deptno = &dept_no

新值 ? ?1: SELECT * FROM dept t WHERE t.deptno = 40

?

? ? DEPTNO DNAME ? ? ? ? ?LOC

---------- -------------- -------------

? ? ? ? 40 OPERATIONS ? ? BOSTON

?

【绑定变量插入】

SQL> INSERT INTO dept(deptno,dname,loc) VALUES (&dept_no,'&dept_name','&loc_name');

输入 dept_no 的值: ?90

输入 dept_name 的值: ?work

输入 loc_name 的值: ?hangzhou

原值 ? ?1: INSERT INTO dept(deptno,dname,loc) VALUES (&dept_no,'&dept_name','&loc_name')

新值 ? ?1: INSERT INTO dept(deptno,dname,loc) VALUES (90,'work','hangzhou')

?

已创建 1 行。

?

【绑定变量修改】

SQL> UPDATE dept t SET t.dname = '&d_name' WHERE t.deptno = 90;

输入 d_name 的值: ?job

原值 ? ?1: UPDATE dept t SET t.dname = '&d_name' WHERE t.deptno = 90

新值 ? ?1: UPDATE dept t SET t.dname = 'job' WHERE t.deptno = 90

?

已更新 1 行。

?

【绑定变量删除】

SQL> DELETE FROM dept t WHERE t.deptno = &dept_no;

输入 dept_no 的值: ?90

原值 ? ?1: DELETE FROM dept t WHERE t.deptno = &dept_no

新值 ? ?1: DELETE FROM dept t WHERE t.deptno = 90

?

已删除 1 行。

?

?

【利用子查询创建表】

SQL> CREATE TABLE my_dept AS SELECT * FROM dept;

?

表已创建。

?

【利用子查询插入数据】

SQL> INSERT INTO my_dept SELECT * FROM dept;

?

已创建4行。

?

【事务】

多个DML语句

单个DCL语句

单个DDL语句

?

【事务保存点】

SQL> SAVEPOINT p;

?

保存点已创建。

?

SQL> INSERT INTO my_dept VALUES (&dept_no,'&d_name','&loc_name');

输入 dept_no 的值: ?70

输入 d_name 的值: ?work

输入 loc_name 的值: ?hangzhou

原值 ? ?1: INSERT INTO my_dept VALUES (&dept_no,'&d_name','&loc_name')

新值 ? ?1: INSERT INTO my_dept VALUES (70,'work','hangzhou')

?

已创建 1 行。

?

?

SQL> SELECT * FROM my_dept;

?

? ? DEPTNO DNAME ? ? ? ? ?LOC

---------- -------------- -------------

? ? ? ? 10 ACCOUNTING ? ? NEW YORK

? ? ? ? 20 RESEARCH ? ? ? DALLAS

? ? ? ? 30 SALES ? ? ? ? ?CHICAGO

? ? ? ? 40 OPERATIONS ? ? BOSTON

70 work ?hangzhou

SQL> SAVEPOINT s;

?

保存点已创建。

?