标签:
如何正确地建立SCOTT/TIGER演示模式
执行脚本
(1)cd [ORACLE_HOME]/sqlplus/demo。
(2)以任意用户身份连接后运行demobld.sql。
注:关于脚本文件的位置和名称,不同的版本有所不同。
如我的Oracle版本是10G,并运行在Windows操作系统模式下,该脚本的位置和名称为:D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlsampl.sql
在不使用脚本的情况下创建模式
CREATE TABLE EMP
(EMPNO NUMBER(4) ,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
);
INSERT INTO EMP VALUES
(7369,‘SMITH‘,‘CLERK‘,7902,to_date(‘17-12-1980‘,‘dd-mm-yyyy‘),800,NULL,20);
INSERT INTO EMP VALUES
(7499,‘ALLEN‘,‘SALESMAN‘,7698,to_date(‘20-2-1981‘,‘dd-mm-yyyy‘),1600,300,30);
INSERT INTO EMP VALUES
(7521,‘WARD‘,‘SALESMAN‘,7698,to_date(‘22-2-1981‘,‘dd-mm-yyyy‘),1250,500,30);
INSERT INTO EMP VALUES
(7566,‘JONES‘,‘MANAGER‘,7839,to_date(‘2-4-1981‘,‘dd-mm-yyyy‘),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,‘MARTIN‘,‘SALESMAN‘,7698,to_date(‘28-9-1981‘,‘dd-mm-yyyy‘),1250,1400,30);
INSERT INTO EMP VALUES
(7698,‘BLAKE‘,‘MANAGER‘,7839,to_date(‘1-5-1981‘,‘dd-mm-yyyy‘),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,‘CLARK‘,‘MANAGER‘,7839,to_date(‘9-6-1981‘,‘dd-mm-yyyy‘),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,‘SCOTT‘,‘ANALYST‘,7566,to_date(‘13-7-87‘,‘dd-mm-yyyy‘)-85,3000,NULL,20);
INSERT INTO EMP VALUES
(7839,‘KING‘,‘PRESIDENT‘,NULL,to_date(‘17-11-1981‘,‘dd-mm-yyyy‘),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,‘TURNER‘,‘SALESMAN‘,7698,to_date(‘8-9-1981‘,‘dd-mm-yyyy‘),1500,0,30);
INSERT INTO EMP VALUES
(7876,‘ADAMS‘,‘CLERK‘,7788,to_date(‘13-7-87‘, ‘dd-mm-rr‘)-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,‘JAMES‘,‘CLERK‘,7698,to_date(‘3-12-1981‘,‘dd-mm-yyyy‘),950,NULL,30);
INSERT INTO EMP VALUES
(7902,‘FORD‘,‘ANALYST‘,7566,to_date(‘3-12-1981‘,‘dd-mm-yyyy‘),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,‘MILLER‘,‘CLERK‘,7782,to_date(‘23-1-1982‘,‘dd-mm-yyyy‘),1300,NULL,10);
CREATE TABLE DEPT
(DEPTNO NUMBER(2),
DNAME VARCHAR2(14) ,
LOC VARCHAR2(13) ) ;
INSERT INTO DEPT VALUES
(10,‘ACCOUNTING‘,‘NEW YORK‘);
INSERT INTO DEPT VALUES
(20,‘RESEARCH‘,‘DALLAS‘);
INSERT INTO DEPT VALUES
(30,‘SALES‘,‘CHICAGO‘);
INSERT INTO DEPT VALUES
(40,‘OPERATIONS‘,‘BOSTON‘);
alter table emp add constraint emp_pk primary key(empno);
alter table dept add constraint dept_pk primary key(deptno);
alter table emp add constraint emp_fk_dept foreign key(deptno) references dept;
alter table emp add constraint emp_fk_emp foreign key(mgr) references emp;
设置环境
SQL*Plus允许建立一个login.sql文件,每次启动SQL*Plus时都会执行这个脚本。
另外,还允许设置一个环境变量SQLPATH,这样不论这个login.sql脚本具体在哪个目录中,SQL*Plus都能找到它。
我是用的login.sql脚本如下:
define_editor= Notepad
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || ‘@‘ || substr(global_name, 1, decode(dot, 0, length(global_name),
dot-1)) global_name
from (select global_name, instr(global_name, ‘.‘) dot from global_name);
set sqlprompt ‘&gname> ‘
set termout on
下面对这个脚本做些说明:
define_editor:设置SQL*Plus使用的默认编辑器。可以把它设置你最喜欢的文本编辑器(而不是字处理器),如记事本(Notepad)或emacs或vi。
set setveroutput on size 1000000 :这会默认的打开DBMS_OUTPUT(这样就不必每次在键入这个命令了)。另外,也将默认缓冲区大小设置的尽可能大。
set trimspool on :假脱机输出文本时,会去除文本行两端的空格,而且行宽不定。如果设置为OFF(默认设置),假脱机输出的文本行宽度则等于所设置的linesize。
set long 5000 :设置选择LONG和CLOB列时显示的默认字节数。
set linesize 100 :设置SQL*Plus显示的文本行宽为100个字符。
标签:
原文地址:http://www.cnblogs.com/jy627625/p/5603121.html