当前位置:文档之家› sqlplus命令详细讲解

sqlplus命令详细讲解

sqlplus命令详细讲解
sqlplus命令详细讲解

SQLPlus命令详细说明2011-10-19 17:23:01

分类:Oracle

1. 执行一个SQL脚本文件

SQL>start file_name

SQL>@ file_name

2. 对当前的输入进行编辑

SQL>edit

3. 重新运行上一次运行的sql语句

SQL>/

4. 将显示的内容输出到指定文件

SQL> SPOOL file_name

在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。

5. 关闭spool输出

SQL> SPOOL OFF

只有关闭spool输出,才会在输出文件中看到输出的内容。

6.显示一个表的结构

SQL> desc table_name

7. COL命令:

主要格式化列的显示形式。

该命令有许多选项,具体如下:

COL[UMN] [{ column|expr} [ option ...]]

Option选项可以是如下的子句:

ALI[AS] alias

CLE[AR]

FOLD_A[FTER]

FOLD_B[EFORE]

FOR[MAT] format

HEA[DING] text

JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}

LIKE { expr|alias}

NEWL[INE]

NEW_V[ALUE] variable

NOPRI[NT]|PRI[NT]

NUL[L] text

OLD_V[ALUE] variable

ON|OFF

WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

1). 改变缺省的列标题

COLUMN column_name HEADING column_heading

For example:

Sql>select * from dept;

DEPTNO DNAME LOC

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

10 ACCOUNTING NEW YORK

sql>col LOC heading location

sql>select * from dept;

DEPTNO DNAME location

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

10 ACCOUNTING NEW YORK

2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from emp

Department name Salary

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

10 aaa 11

SQL> COLUMN ENAME HEADING ’Employee|Name’

Sql>select * from emp

Employee

Department name Salary

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

10 aaa 11

note: the col heading turn into two lines from one line.

3). 改变列的显示长度:

FOR[MAT] format

Sql>select empno,ename,job from emp;

EMPNO ENAME JOB

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

7369 SMITH CLERK

7499 ALLEN SALESMAN

7521 WARD SALESMAN

Sql> col ename format a40

EMPNO ENAME JOB

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

7369 SMITH CLERK

7499 ALLEN SALESMAN

7521 WARD SALESMAN

4). 设置列标题的对齐方式

JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}

SQL> col ename justify center

SQL> /

EMPNO ENAME JOB

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

7369 SMITH CLERK

7499 ALLEN SALESMAN

7521 WARD SALESMAN

对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边

5). 不让一个列显示在屏幕上

NOPRI[NT]|PRI[NT]

SQL> col job noprint

SQL> /

EMPNO ENAME

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

7369 SMITH

7499 ALLEN

7521 WARD

6). 格式化NUMBER类型列的显示:

SQL> COLUMN SAL FORMAT $99,990

SQL> /

Employee

Department Name Salary Commission

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

30 ALLEN $1,600 300

7). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] text

SQL>COL COMM NUL[L] text

8). 设置一个列的回绕方式

WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

COL1

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

HOW ARE YOU?

SQL>COL COL1 FORMAT A5

SQL>COL COL1 WRAPPED

COL1

-----

HOW A

RE YO

U?

SQL> COL COL1 WORD_WRAPPED

COL1

-----

HOW

ARE

YOU?

SQL> COL COL1 WORD_WRAPPED

COL1

-----

HOW A

9). 显示列的当前的显示属性值

SQL> COLUMN column_name

10). 将所有列的显示属性设为缺省值

SQL> CLEAR COLUMNS

8. 屏蔽掉一个列中显示的相同的值

BREAK ON break_column

SQL> BREAK ON DEPTNO

SQL> SELECT DEPTNO, ENAME, SAL

FROM EMP

WHERE SAL < 2500

ORDER BY DEPTNO;

DEPTNO ENAME SAL

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

10 CLARK 2450

MILLER 1300

20 SMITH 800

ADAMS 1100

9. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。

BREAK ON break_column SKIP n

SQL> BREAK ON DEPTNO SKIP 1

SQL> /

DEPTNO ENAME SAL

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

10 CLARK 2450

MILLER 1300

20 SMITH 800

ADAMS 1100

10. 显示对BREAK的设置

SQL> BREAK

11. 删除6、7的设置

SQL> CLEAR BREAKS

12. Set 命令:

该命令包含许多子命令:

SET system_variable value

system_variable value 可以是如下的子句之一:

APPI[NFO]{ON|OFF|text}

ARRAY[SIZE] {15|n}

AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}

AUTOP[RINT] {ON|OFF}

AUTORECOVERY [ON|OFF]

AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]] BLO[CKTERMINATOR] {.|c}

CMDS[EP] {;|c|ON|OFF}

COLSEP {_|text}

COM[PATIBILITY]{V7|V8|NATIVE}

CON[CAT] {.|c|ON|OFF}

COPYC[OMMIT] {0|n}

COPYTYPECHECK {ON|OFF}

DEF[INE] {&|c|ON|OFF}

DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}] ECHO {ON|OFF}

EDITF[ILE] file_name[.ext]

EMB[EDDED] {ON|OFF}

ESC[APE] {/|c|ON|OFF}

FEED[BACK] {6|n|ON|OFF}

FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}

FLU[SH] {ON|OFF}

HEA[DING] {ON|OFF}

INSTANCE [instance_path|LOCAL]

LIN[ESIZE] {80|n}

LOBOF[FSET] {n|1}

LOGSOURCE [pathname]

LONG {80|n}

LONGC[HUNKSIZE] {80|n}

MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL

{ON|OFF}] [PRE[FORMAT] {ON|OFF}]

NEWP[AGE] {1|n|NONE}

NULL text

NUMF[ORMAT] format

NUM[WIDTH] {10|n}

PAGES[IZE] {24|n}

PAU[SE] {ON|OFF|text}

RECSEP {WR[APPED]|EA[CH]|OFF}

RECSEPCHAR {_|c}

SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_ WRAPPED]|TRU[NCATED]}]

SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}

SHOW[MODE] {ON|OFF}

SQLBL[ANKLINES] {ON|OFF}

SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}

SQLCO[NTINUE] {> |text}

SQLN[UMBER] {ON|OFF}

SQLPRE[FIX] {#|c}

SQLP[ROMPT] {SQL>|text}

SQLT[ERMINATOR] {;|c|ON|OFF}

SUF[FIX] {SQL|text}

TAB {ON|OFF}

TERM[OUT] {ON|OFF}

TI[ME] {ON|OFF}

TIMI[NG] {ON|OFF}

TRIM[OUT] {ON|OFF}

UND[ERLINE] {-|c|ON|OFF}

VER[IFY] {ON|OFF}

WRA[P] {ON|OFF}

1). 设置当前session是否对修改的数据进行自动提交

SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}

2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句

SQL> SET ECHO {ON|OFF}

3).是否显示当前sql语句查询或修改的行数

SQL> SET FEED[BACK] {6|n|ON|OFF}

默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数

4).是否显示列标题

SQL> SET HEA[DING] {ON|OFF}

当set heading off 时,在每页的上面不显示列标题,而是以空白行代替

5).设置一行可以容纳的字符数

SQL> SET LIN[ESIZE] {80|n}

如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。

6).设置页与页之间的分隔

SQL> SET NEWP[AGE] {1|n|NONE}

当set newpage 0 时,会在每页的开头有一个小的黑方框。

当set newpage n 时,会在页和页之间隔着n个空行。

当set newpage none 时,会在页和页之间没有任何间隔。

7).显示时,用text值代替NULL值

SQL> SET NULL text

8).设置一页有多少行数

SQL> SET PAGES[IZE] {24|n}

如果设为0,则所有的输出内容为一页并且不显示列标题

9).是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。

SQL> SET SERVEROUT[PUT] {ON|OFF}

在编写存储过程时,我们有时会用dbms_output.put_line将必要的信息输出,以便对存储过程进行调试,只有将serveroutput变量设为on后,信息才能显示在屏幕上。

10).当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句。SQL> SET WRA[P] {ON|OFF}

当输出的行的长度大于设置的行的长度时(用set linesize n命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。

11).是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。

SQL> SET TERM[OUT] {ON|OFF}

在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度。

12).将SPOOL输出中每行后面多余的空格去掉

SQL> SET TRIMS[OUT] {ON|OFF}

13)显示每个sql语句花费的执行时间

set TIMING {ON|OFF}

14). 遇到空行时不认为语句已经结束,从后续行接着读入。

SET SQLBLANKLINES ON

Sql*plus中, 不允许sql语句中间有空行, 这在从其它地方拷贝脚本到sql*plus 中执行时很麻烦. 比如下面的脚本:

select deptno, empno, ename

from emp

where empno = '7788';

如果拷贝到sql*plus中执行, 就会出现错误。这个命令可以解决该问题

15).设置DBMS_OUTPUT的输出

SET SERVEROUTPUT ON BUFFER 20000

用dbms_output.put_line('strin_content');可以在存储过程中输出信息,对存储过程进行调试

如果想让dbms_output.put_line(' abc');的输出显示为:

SQL> abc,而不是SQL>abc,则在SET SERVEROUTPUT ON后加format wrapped参数。

16). 输出的数据为html格式

set markup html

在8.1.7版本(也许是816? 不太确定)以后, sql*plus中有一个set markup html 的命令, 可以将sql*plus的输出以html格式展现.

注意其中的spool on, 当在屏幕上输出的时候, 我们看不出与不加spool on有什么区别, 但是当我们使用spool filename 输出到文件的时候, 会看到spool

文件中出现了等tag.

14.修改sql buffer中的当前行中,第一个出现的字符串

C[HANGE] /old_value/new_value

SQL> l

1* select * from dept

SQL> c/dept/emp

1* select * from emp

15.编辑sql buffer中的sql语句

EDI[T]

16.显示sql buffer中的sql语句,list n显示sql buffer中的第n行,并使第n行成为当前行

L[IST] [n]

17.在sql buffer的当前行下面加一行或多行

I[NPUT]

18.将指定的文本加到sql buffer的当前行后面

A[PPEND]

SQL> select deptno,

2 dname

3 from dept;

DEPTNO DNAME

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

10 ACCOUNTING

20 RESEARCH

30 SALES

40 OPERATIONS

SQL> L 2

2* dname

SQL> a ,loc

2* dname,loc

SQL> L

1 select deptno,

2 dname,loc

3* from dept

SQL> /

DEPTNO DNAME LOC

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

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

19.将sql buffer中的sql语句保存到一个文件中SAVE file_name

20.将一个文件中的sql语句导入到sql buffer中GET file_name

21.再次执行刚才已经执行的sql语句

RUN

or

/

22.执行一个存储过程

EXECUTE procedure_name

23.在sql*plus中连接到指定的数据库

CONNECT user_name/passwd@db_alias

24.设置每个报表的顶部标题

TTITLE

25.设置每个报表的尾部标题

BTITLE

26.写一个注释

REMARK [text]

27.将指定的信息或一个空行输出到屏幕上

PROMPT [text]

28.将执行的过程暂停,等待用户响应后继续执行

PAUSE [text]

Sql>PAUSE Adjust paper and press RETURN to continue.

29.将一个数据库中的一些数据拷贝到另外一个数据库(如将一个表的数据拷贝到另一个数据库)

COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|REPLACE} destination_table [(column, column, column, ...)] USING query

sql>COPY FROM SCOTT/TIGER@HQ TO JOHN/CHROME@WEST create emp_temp

USING SELECT * FROM EMP

30.不退出sql*plus,在sql*plus中执行一个操作系统命令:

HOST

Sql> host hostname

该命令在windows下可能被支持。

31.在sql*plus中,切换到操作系统命令提示符下,运行操作系统命令后,可以再次切换回sql*plus:

!

sql>!

$hostname

$exit

sql>

该命令在windows下不被支持。

32.显示sql*plus命令的帮助

HELP

如何安装帮助文件:

Sql>@ ?/sqlplus/admin/help/hlpbld.sql ?/sqlplus/admin/help/helpus.sql Sql>help index

33.显示sql*plus系统变量的值或sql*plus环境变量的值

Syntax

SHO[W] option

where option represents one of the following terms or clauses:

system_variable

ALL

BTI[TLE]

ERR[ORS] [{FUNCTION|PROCEDURE|PACKAGE|PACKAGE BODY| TRIGGER|VIEW|TYPE|TYPE BODY} [schema.]name]

LNO

PARAMETERS [parameter_name]

PNO

REL[EASE]

REPF[OOTER]

REPH[EADER]

SGA

SPOO[L]

SQLCODE

TTI[TLE]

USER

1) . 显示当前环境变量的值:

Show all

2) . 显示当前在创建函数、存储过程、触发器、包等对象的错误信息

Show error

当创建一个函数、存储过程等出错时,变可以用该命令查看在那个地方出错及相应的出错信息,进行修改后再次进行编译。

3) . 显示初始化参数的值:

show PARAMETERS [parameter_name]

4) . 显示数据库的版本:

show REL[EASE]

5) . 显示SGA的大小

show SGA

6). 显示当前的用户名

show user

34.查询一个用户下的对象

SQL>select * from tab;

SQL>select * from user_objects;

35.查询一个用户下的所有的表

SQL>select * from user_tables;

36.查询一个用户下的所有的索引

SQL>select * from user_indexes;

37. 定义一个用户变量

方法有两个:

a. define

b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]]

OLD_V[ALUE] variable [NOPRI[NT]|PRI[NT]]

下面对每种方式给予解释:

a. Syntax

DEF[INE] [variable]|[variable = text]

定义一个用户变量并且可以分配给它一个CHAR值。

assign the value MANAGER to the variable POS, type:

SQL> DEFINE POS = MANAGER

assign the CHAR value 20 to the variable DEPTNO, type:

SQL> DEFINE DEPTNO = 20

list the definition of DEPTNO, enter

SQL> DEFINE DEPTNO

―――――――――――――――

DEFINE DEPTNO = ”20” (CHAR)

定义了用户变量POS后,就可以在sql*plus中用&POS或&&POS来引用该变量的值,sql*plus不会再提示你给变量输入值。

b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]] NEW_V[ALUE] variable

指定一个变量容纳查询出的列值。

例:column col_name new_value var_name noprint

select col_name from table_name where ……..

将下面查询出的col_name列的值赋给var_name变量.

一个综合的例子:

得到一个列值的两次查询之差(此例为10秒之内共提交了多少事务):

column redo_writes new_value commit_count

select sum(stat.value) redo_writes

from v$sesstat stat, v$statname sn

where stat.statistic# = sn.statistic#

and https://www.doczj.com/doc/3e4810827.html, = 'user commits';

-- 等待一会儿(此处为10秒);

execute dbms_lock.sleep(10);

set veri off

select sum(stat.value) - &commit_count commits_added

from v$sesstat stat, v$statname sn

where stat.statistic# = sn.statistic#

and https://www.doczj.com/doc/3e4810827.html, = 'user commits';

38. 定义一个绑定变量

VAR[IABLE] [variable [NUMBER|CHAR|CHAR (n)|NCHAR|NCHAR (n)

|VARCHAR2 (n)|NVARCHAR2 (n)|CLOB|NCLOB|REFCURSOR]]

定义一个绑定变量,该变量可以在pl/sql中引用。

可以用print命令显示该绑定变量的信息。

如:

column inst_num heading "Inst Num" new_value inst_num format 99999;

column inst_name heading "Instance" new_value inst_name format a12; column db_name heading "DB Name" new_value db_name format

a12;

column dbid heading "DB Id" new_value dbid format 9999999999 just c;

prompt

prompt Current Instance

prompt ~~~~~~~~~~~~~~~~

select d.dbid dbid

, https://www.doczj.com/doc/3e4810827.html, db_name

, i.instance_number inst_num

, i.instance_name inst_name

from v$database d,

v$instance i;

variable dbid number;

variable inst_num number;

begin

:dbid := &dbid;

:inst_num := &inst_num;

end;

/

在sql*plus中,该绑定变量可以作为一个存储过程的参数,也可以在匿名

PL/SQL块中直接引用。为了显示用VARIABLE命令创建的绑定变量的值,可以用print命令

注意:

绑定变量不同于变量:

1.定义方法不同

2.引用方法不同

绑定变量::variable_name

变量:&variable_name or &&variable_name

3.在sql*plus中,可以定义同名的绑定变量与用户变量,但是引用的方法不同。

39. &与&&的区别

&用来创建一个临时变量,每当遇到这个临时变量时,都会提示你输入一个值。&&用来创建一个持久变量,就像用用define命令或带new_vlaue字句的column命令创建的持久变量一样。当用&&命令引用这个变量时,不会每次遇到该变量就提示用户键入值,而只是在第一次遇到时提示一次。

如,将下面三行语句存为一个脚本文件,运行该脚本文件,会提示三次,让输入deptnoval的值:

select count(*) from emp where deptno = &deptnoval;

select count(*) from emp where deptno = &deptnoval;

select count(*) from emp where deptno = &deptnoval;

将下面三行语句存为一个脚本文件,运行该脚本文件,则只会提示一次,让输入deptnoval的值:

select count(*) from emp where deptno = &&deptnoval;

select count(*) from emp where deptno = &&deptnoval;

select count(*) from emp where deptno = &&deptnoval;

40.在输入sql语句的过程中临时先运行一个sql*plus命令(摘自

https://www.doczj.com/doc/3e4810827.html,)

#

有没有过这样的经历? 在sql*plus中敲了很长的命令后, 突然发现想不起某个

列的名字了, 如果取消当前的命令,待查询后再重敲, 那太痛苦了. 当然你可以另开一个sql*plus窗口进行查询, 但这里提供的方法更简单.

比如说, 你想查工资大于4000的员工的信息, 输入了下面的语句:

SQL> select deptno, empno, ename

2 from emp

这时, 你发现你想不起来工资的列名是什么了.

这种情况下, 只要在下一行以#开头, 就可以执行一条sql*plus命令, 执行完后, 刚才的语句可以继续输入

SQL>> select deptno, empno, ename

2 from emp

3 where

6 #desc emp

Name Null? Type

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

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

6 sal > 4000;

DEPTNO EMPNO ENAME

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

10 7839 KING

41. SQLPlus中的快速复制和粘贴技巧(摘自https://www.doczj.com/doc/3e4810827.html,)

1) 鼠标移至想要复制内容的开始

2) 用右手食指按下鼠标左键

3) 向想要复制内容的另一角拖动鼠标,与Word中选取内容的方法一样

4) 内容选取完毕后(所选内容全部反显),鼠标左键按住不动,用右手中指按鼠标右键

5) 这时,所选内容会自动复制到SQL*Plus环境的最后一行

Sql*plus中蕴藏着好多技巧,如果掌握这些技巧,对于在oracle数据库下进行快速开发与有效维护数据库都是有益的。

下面就接受一二,

1.使用SQL*PLUS动态生成批量脚本

将spool与select命令结合起来使用,可以生成一个脚本,脚本中包含有可以批量执行某一任务的语句。

例1:

生成一个脚本,删除SCOTT用户下的所有的表:

a. 创建gen_drop_table.sql文件,包含如下语句:

SPOOL c:/drop_table.sql

SELECT 'DROP TABLE '|| table_name ||';' FROM user_tables;

SPOOL OFF

b. 以SCOTT用户登录数据库

SQLPLUS > @ …../gen_dorp_table.sql

c. 在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示:

SQL> SELECT 'DROP TABLE '|| table_name ||';' FROM

user_tables;

'DROPTABLE'||TABLE_NAME||';'

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

DROP TABLE DEPT;

DROP TABLE EMP;

DROP TABLE PARENT;

DROP TABLE STAT_VENDER_TEMP;

DROP TABLE TABLE_FORUM;

5 rows selected.

SQL> SPOOL OFF

d. 对生成的drop_tabl

e.sql文件进行编辑去掉不必要的部分,只留下drop table …..语句

e. 在scott用户下运行dorp_table.sql文件,删除scott用户下所有的表。SQLPLUS > @ c:/dorp_table.sql

在上面的操作中,在生成的脚本文件中会有多余的字符,如运行的sql语句,标题,或返回的行数,需要我们编辑该脚本后再运行,给实际的操作带来诸多不便。懒惰是人的本性,这促使我们用更简单的办法来实现上面的任务。

a. 创建gen_drop_table.sql文件,包含如下语句:

set echo off

set feedback off

set newpage none

set pagesize 5000

set linesize 500

set verify off

set pagesize 0

set term off

set trims on

set linesize 600

set heading off

set timing off

set verify off

set numwidth 38

SPOOL c:/drop_table.sql

SELECT 'DROP TABLE '|| table_name ||';' FROM user_tables;

SPOOL OFF

b. 以SCOTT用户登录数据库

SQLPLUS > @ …../gen_dorp_table.sql

c. 在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示:

DROP TABLE DEPT;

DROP TABLE EMP;

DROP TABLE PARENT;

DROP TABLE STAT_VENDER_TEMP;

DROP TABLE TABLE_FORUM;

d. 在scott用户下运行dorp_tabl

e.sql文件,删除scott用户下所有的表。SQLPLUS > @ c:/dorp_table.sql

2.将一个表中的数据导出生成一个文本文件,列与列之间以”,”隔开

set echo off

set feedback off

set newpage none

set pagesize 5000

oracle的sqlplus学习笔记

使用SQLPLUS 可以用它运行SQL查询和PL/SQL代码块并接收结果信息 可以发布DBA命令并自动工作 可以启动和关闭数据库 一种创建数据库管理报告的便利方法 设置环境变量 在调用SQLplus前,必须正确设置oracle环境变量, 包括设置ORACLE_SID,ORACLE_HOME和LD_LIBBARY_PATH,有时还须设置NLS_LANG和ORA_NLS11 用CONNECT(conn)命令连接 CONNECT(conn)命令可以以一个不同的用户身份进行连接 例: SQL> conn scott/tiger 已连接。 SQL> connect scott/tiger 已连接。 SQL*Plus登录模式 C:\>sqlplus -h SQL*Plus: Release 10.2.0.1.0 - Production Copyright (c) 1982, 2005, Oracle. All rights reserved. 用法1: sqlplus -H | -V -H 显示SQL*Plus 版本和用法帮助。 -V 显示SQL*Plus 版本。 为: ([/][@] | /) [AS SYSDBA | AS SYSOPER] | /NOLOG 指定数据库帐户用户名, 口令和数据库连接 的连接标识符。如果没有连接 标识符, SQL*Plus 将连接到默认数据库。 AS SYSDBA 和AS SYSOPER 选项是数据库管理 权限。

/NOLOG 选项可启动SQL*Plus 而不连接到 数据库。 为: @|[.] [ ...] 使用将分配给脚本中的替代变量的指定参数 从Web 服务器(URL) 或本地文件系统(filename.ext) 运行指定的SQL*Plus 脚本。 在启动SQL*Plus 并且执行CONNECT 命令后, 将运行站点概要 文件(例如, $ORACLE_HOME/sqlplus/admin/glogin.sql) 和用户概要文件 (例如, 工作目录中的login.sql)。这些文件 可包含SQL*Plus 命令。 SQLPLUS的执行操作 一条SQL语句由一个分号(;)或一个反斜杠(/)结束 一个PL/SQL块由一个反斜杠(/)结束 可以使用连字符(-)作为语句行的继续字符 例: SQL> select 200 - <==此时sqlplus自动将'-'字符解释成继续字符并发布一条错误信息 > 100 from dual; select 200 100 from dual * 第 1 行出现错误: ORA-00923: 未找到要求的FROM 关键字 SQL> select 200 - - > 100 from dual; 200-100 ---------- 100 退出SQLPlus 在SQL*Plus输入exit(quit)命令正常退出会话,则事务立即被提交.如果不打算提交事务,必须在退出前执行rollback命令,就算autocommit设置值为off也是如此.在使用exit/quit时,会出现以下情况 ?所有未决的更改被回滚或提交; ?用户退出oraclesqlplus会话终止 ?控制权返回到操作系统

SQLPLUS命令语法自定义环境命令

自定义环境变量 Show命令、set命令 使用show命令显示当前SQL*PLUS的环境变量的值,使用set命令设置或者修改环境变量的值 Show all显示所有环节变量的值信息。 1、Autocommit变量 用于设置是否自动提交,当设置为ON 时,每次用户DML语句时都会自动提交。 Set autocommit on 2、Colsep变量 Colsep用于设置在选定列之间的分隔符,默认为空格。 Set colsep | ; 3、Feedback变量 当一个查询选择至少N行记录时,就会显示返回的行数,默认值是6,如果要禁止显示行数,则将feedback设置为OFF Set feedback off; 4、Heading 表示是否显示列标题,默认设置为ON,OFF表示不显示 Set heading off; 5、Linesize和pagesize Linesize表示行宽度,默认为80,如果行数据长度查过80个字符,那么会换行显示。 Pagesiez表示每月所显示的行数,默认为24。 Set linesize 10 Set pagesize 10 6、Serveroutput 变量 用于控制是否显示存储过程的输出,例如dbms_output.put_line(…hello sql*plus?) 默认值为OFF,要显示时设置为ON 7、Sqlprompt 用于设置SQL*PLUS的命令提示符,默认为SQL> 例如 Set sqlprompt printout> 8、TIME命令符 用于设置是否在命令提示符中显示时间 Set time on 9、Underline变量 用于设置下划横线字符默认值为:‘_’ Set underline “|” 注意事项: 保存SQL*PLUS环境 可以使用store set filename(spool命令)命令将自己定义好的SQL*PLUS环境保存到一个脚本文件中 另外,如果下午在每次启动SQL*PLUS时都会自动使用特定环境变量的设置,则可以修改

SQLPLUS常用命令列表

SQL*PLUS常用命令列表 ?软件环境: 1、Windows 98 第二版 2、Oracle数据库版本为:Personal Oracle7 Release 7.3.4.0.0 3、Oracle安装路径为:C:\ORAWIN95 ?命令列表: ?假设当前执行命令为:select * from tab; ? ?(a)ppend 添加文本到缓冲区当前行尾 a order by tname 结果:select * from tab order by tname; ? (注:a后面跟2个空格) ?(c)hange/old/new 在当前行用新的文本替换旧的文本c/*/tname 结果:select tname from tab; ?(c)hange/text 从当前行删除文本c/tab 结果:select tname from ; ?del 删除当前行 ?del n 删除第n行 ?(i)nput 文本在当前行之后添加一行 ?(l)ist 显示缓冲区中所有行 ?(l)ist n 显示缓冲区中第 n 行 ?(l)ist m n 显示缓冲区中 m 到 n 行 ?run 执行当前缓冲区的命令 ?/ 执行当前缓冲区的命令 ?r 执行当前缓冲区的命令 ?@文件名运行调入内存的sql文件,如: ? ?SQL> edit s<回车> ?如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件, ?在其中输入“select * from tab;”,存盘退出。 ? ?SQL> @s<回车> ?系统会自动查询当前用户下的所有表、视图、同义词。 ? ?@@文件名在.sql文件中调用令一个.sql文件时使用 ? ?save 文件名将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql ?get 文件名调入存盘的sql文件 ?start 文件名运行调入内存的sql文件 ? ?spool 文件名把这之后的各种操作及执行结果“假脱机”即存盘到磁盘文件上,

Oracle SQLPlus 常用命令及解释

Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

SQLPLUS用法大全

SQL*PLUS命令的使用大全 Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus 命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer 中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 @与@@的区别是什么? @等于start命令,用来运行一个sql脚本文件。 @命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本文件。该命令使用是一般要指定要执行的文件的全路径,否则从缺省路径(可用SQLPATH变量指定)下读取指定的文件。@@用在sql脚本文件中,用来说明用@@执行的sql脚本文件与@@所在的文件在同一目录下,而不用指定要执行sql脚本文件的全路径,也不是从SQLPATH环境变量指定的路径中寻找sql脚本文件,该命令一般用在脚本文件中。 如:在c:\temp目录下有文件start.sql和nest_start.sql,start.sql脚本文件的内容为:@@nest_start.sql - - 相当于@ c:\temp\nest_start.sql 则我们在sql*plus中,这样执行: SQL> @ c:\temp\start.sql 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。

SQL PLUS 命令大全

一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动oracle9i数据库命令: $ sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved. SQL> connect / as sysdba Connected to an idle instance. SQL> startup^C SQL> startup ORACLE instance started. 2、在双机环境下 要想启动或关闭ORACLE系统必须首先切换到root用户,如下 su - root a、启动ORACLE系统 hareg -y oracle b、关闭ORACLE系统 hareg -n oracle Oracle数据库有哪几种启动方式

说明: 有以下几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档、 数据库介质恢复、 使数据文件联机或脱机, 重新定位数据文件、重做日志文件。 执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。 3、startup open dbname 先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件, 这种方式下可访问数据库中的数据。 4、startup,等于以下三个命令 startup nomount alter database mount alter database open 5、startup restrict 约束方式启动 这种方式能够启动数据库,但只允许具有一定特权的用户访问 非特权用户访问时,会出现以下提示: ERROR: ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 6、startup force 强制启动方式

oracle set命令大全

oracle set命令详解 SET命令参数详解 我好如容易录入的,希望对大家有帮助,如果有错误也请指正.有更好的也请分享. SQL*PLUS维护系统变量,也称SET变量,利用它可为SQL*PLUS交互建立一个特殊的环境,如:设 置NUMBER数据的显示宽度;设置每页的行数;设置列的宽度等。可用SET命令改变这些系统变 量,也可用SHOW命令列出它们. 使用set命令的语法如下: SET 系统变量值 其中系统变量及其可选值如下: ARRAY[SIZE] {20(默认值)|n} AUTO[COMMIT] {OFF(默认值)|ON|IMM[EDIATE]} BLO[CKTERMINATOR] {.(默认值)|C} CMDS[EP] {;|C|OFF(默认值)|ON} COM[PATIBILITY] {V5|V6|V7|NATIVE(默认值)} CON[CAT] {.(默认值)|C|OFF|ON(默认值)} COPYC[OMMIT] {0(默认值)|n} CRT crt DEF[INE] {&|C|OFF|ON(默认值)} ECHO {OFF|ON} EMBEDDED {OFF(默认值)|ON} ESC[APE] { (默认值)|C|OFF(默认值)|ON} FEED[BACK] {6(默认值)|n|OFF|ON} FLU[SH] {OFF|ON(默认值)} HEA[DING] {OFF|ON(默认值)} HEADS[EP] {|(默认值)|C|OFF|ON(默认值)} LIN[ESIZE] {80(默认值)|n} LONG {80(默认值)|n} LONGC[HUNKSIZE] {80(默认值)|n} MAXD[ATA] n NEWP[AGE] {1(默认值)|n} NULL text NUMF[ORMAT] 格式 NUM[WIDTH] {10(默认值)|n}

oracle常用命令大全和环境变量路径

Oracle 命令大全 底部为环境变量配置路径。 1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog 5 在命令提示符以OS身份连接 connect / as sysdba 6 以SYSTEM的身份连接 connect system/xxxxxxx@服务名 7 显示当然用户有哪些表 select * from tab; 8 显示有用户名和帐户的状态 select username,account_status from dba_users; 9 将SCOTT帐号解锁(加锁) alter user scott account unlock(lock); 10 以SCOTT的身份连接并且查看所属表 connect scott/tiger select * from tab; 11 查看EMP的表结构及记录内容 desc emp select empno,ename from emp; 12 以OS的身份登看SGA,共享池,CACHE的信息 connect / as sysdba show sga select name,value/1024/1024 from v$sga; show parameter shared_pool_size select value/1024/1024 from v$parameter where name ='shared_pool_size';

show parameter db_cache_size select value/1024/1024 from v$parameter where name ='db_cache_size'; 13 查看所有含有SIZE的信息 show parameter size bitmap_merge_area_size integer 1048576 create_bitmap_area_size integer 8388608 db_16k_cache_size big integer 0 db_2k_cache_size big integer 0 db_32k_cache_size big integer 0 db_4k_cache_size big integer 0 db_8k_cache_size big integer 0 db_block_size integer 4096 db_cache_size big integer 33554432 db_keep_cache_size big integer 0 db_recycle_cache_size big integer 0 NAME TYPE V ALUE ------------------------------------ ----------- ------------- global_context_pool_size string hash_area_size integer 1048576 java_max_sessionspace_size integer 0 java_pool_size big integer 33554432 large_pool_size big integer 8388608 max_dump_file_size string UNLIMITED object_cache_max_size_percent integer 10 object_cache_optimal_size integer 102400 olap_page_pool_size integer 33554432 oracle_trace_collection_size integer 5242880 parallel_execution_message_size integer 2148 NAME TYPE V ALUE ------------------------------------ ----------- ------------- sga_max_size big integer 143727516 shared_pool_reserved_size big integer 2516582 shared_pool_size big integer 50331648 sort_area_retained_size integer 0 sort_area_size integer 524288 workarea_size_policy string AUTO 14 显示SGA的信息 select * from v$sgastat; POOL NAME BYTES

力控动态组件常见问题大全 附解决方案

一、力控软件的安装卸载与系统环境 安装力控需要的软硬件环境? 如何安装力控软件?(注意:安装顺序与系统问题! 如何卸载力控软件? 可以制作运行包吗?怎样制作运行包? 制作运行包后,安装时setup为何提示”本系统已经安装了该产品”? 我已经安装加密锁了,为何安装运行包后运行工程还提示找不到加密锁? 安装完运行包后如何卸载? 如何安装力控的驱动程序?手动添加新驱动怎么做? 怎样添加新的子图精灵? 力控提供的加密锁需要安装驱动程序吗?需要如何安装? 力控安装在部分操作系统下,会出现乱码? 二、力控软件选型 如何计算力控软件点数? 我接两个PLC就算两个点吗? 操作员站采集现场数据,领导也想看生产情况,我应该如何择软件? 我用模拟量输出板卡调节几个电动阀门输出应该使用什么版本的软件? 我的工程数据量比较大,大概十几万点,是不是直接使用使用无限点版本就可以了?三、力控系统开发、运行与配置 不小心在工程管理器中将工程给删除了,还能找到并恢复我的工程吗? 两个工程实时性要求不高,为了省数据库的点数,想做两个工程由人工轮流启动执行,一台计算机上能创建多个工程运行的快捷方式吗? 力控的案例.PCK文件是什么类型的,如何打开? 力控支持数组吗? 给每个数组元素赋值后,发现最终所有元素都显示的是最后一个赋值结果? 在数据库组态中没见到定义数据范围的地方,只定义小数位数。我在HMI上的对该数据库变量赋值发现不能大于99999,当大于该值时提示“无效数据,范围为~99999.000000”怎样才能输入更大的数据? 在动画连接择变量时会出现变量择窗口,为何窗口中了“实时数据库“项窗口,还个“全局”窗口?并且这个窗口也数据库变量,当这里的变量比“实时数据库” 项窗口少,这两个什么区别? 如何在开机时自动进入工程的运行系统? 为何我的工程画面修改后保存提示“保存文档失败”? 为何工程画面切换时些窗口打不开,并提示“打开文档失败。”的错误? 工程的窗口名称定义不合适想修改名称,但窗口名称为灰色不能修改,对窗口操作只打开、删除和关闭,该如何修改哪? 我想将系统的热启动键禁止,防止运行人员非法操作关机,能实现吗? 我使用做的工程,为何在下打不开哪? 工程从2.6升级到后总是提示找不到驱动? 工程从版本能直接拿到版本中使用? 在1024*768的机器分辨率下做的工程,拷贝到1440*900的机器下运行,些画面拉伸变

典型数据库

典型数据库 实验指导书 ____/____年第____学期 姓名:_____________ 学号:_____________ 班级:_____________ 指导教师:_____________

目录 实验1 Oracle Database环境和SQL *Plus基础 (3) 实验2 管理数据库表及其完整性 (5) 实验3 SQL查询技术 (7) 实验4 PL/SQL基础 (11) 实验5 索引和视图 (13) 实验6 存储过程和触发器 (15)

实验一Oracle Database环境和SQL *Plus基础 一、实验目的 掌握Oracle Database数据库的安装,学会使用SQL *Plus环境的设置及应用。 二、实验环境 本实验采用的RDBMS是Oracle公司的数据库管理系统,以Oracle Database 11g版本为软件平台。 三、实验内容与要求 1.熟悉Oracle Database软件的获取和安装,简要说明Oracle Database 11g的安装过程。 2.启动和设置SQL *Plus环境,通过SQL *Plus环境执行SQL语句。 (1)打开SQL *Plus环境,登录Oracle数据库,以系统默认用户身份登录,用户名:system, 口令:Admin123。登录成功后出现:“SQL>”提示符。 (2)以学生姓名拼音建立新的Oracle数据库用户(姓全拼,名字的首字母),并给用户授予连接和管理员权限。 参考代码: create user wangw identified by wangw; (前一个为用户名,后一个为口令) grant create session,dba to wangw; (session为连接权限,dba是具有100多个权限的角色) 使用describe命令查看所定义的表结构。 4.使用insert语句向S表中插入至少10条数据。 参考代码:INSERT INTO EMP(EMPNO,ENAME,HIREDATE)VALUES (7844,'TURNER',to_date('8-9-1981','dd-mm-yyyy')); 5.查询: (1)查询所有学生信息的信息; (2)格式化查询结果:改变deptno列的显示宽度为A10,将所有列标题设置成相应的中文含义。 6.打开并配置

实验2 SQLPlus的使用

实验2 SQL*Plus工具的使用 一、实验目的 1.了解SQL*Plus工具的功能; 2.熟练掌握SQL*Plus工具连接与断开数据库的多种方式; 3.熟练掌握SQL*Plus常用命令的使用。 二、实验环境 1.硬件 每位学生配备计算机一台,满足下列软件的安装; 2.软件 Windows操作系统,安装Oracle Database 11g企业版; 3.网络 需要局域网支持; 4.工具 无 三、实验理论与预备知识 1.SQL*Plus工具连接数据库; 2.SQL*Plus工具的常用命令。 四、实验任务 1.SQL*Plus工具连接与断开数据库; 2.SQL*Plus工具的常用操作; 3.创建报表。 五、实验内容及步骤 1.SQL*Plus工具连接与断开数据库 (1)连接到默认数据库 具体步骤: 1)启动相应的数据库服务; 2)选择【开始】→【所有程序】→【Oracle-OraDB11g_Home1】→【应用程序开发】→【SQL Plus】,即可打开SQL*Plus工具的登录页面;

3)根据提示输入正确的用户名和口令,按回车键,则可以连接到默认数据库;4)连接到数据库之后,显示SQL>提示符,可以输入相应SQL命令; (2)连接默认数据库的其他方式 方式1:指定某个用户身份 选择【开始】→【附件】→【运行】,输入命令“sqlplus system/123456 ”,如图4-1所示; 图2-1 连接Oracle数据库 单击【确定】按钮,可直接进入新的SQL*PLUS主界面,如图2-2所示; 图2-2 SQL Plus主界面 方式2:以sys dba身份登录数据库 选择【开始】→【运行】,输入命令“sqlplus "/as sysdba" ”,单击【确定】按钮,可直接进入新的SQL*PLUS主界面,如图2-3所示;

sqlplus as sysdba 详解

sqlplus as sysdba 详解 在命令窗口输入“sqlplus / as sysdba”后回车,即可连接到Oracle 例如 C:\>sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期二4月17 10:05:34 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> 那么到底此命令到底执行了什么操作,不妨登录后输入“select user from dual;”查看,可看到如下结果: C:\>sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期二4月17 10:11:11 2012

Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select user from dual; USER ------------------------------ SYS SQL> 很明显我们刚刚是以SYS用户登录的 这就说明此处省略了用户名及密码 我们再以“sqlplus sys/****(sys用户的密码)/ as sysdba”的方式登录,此时不论用户名或密码是否在系统中存在都可正常登录,登录的用户还是“SYS”,命令操作如下: C:\>sqlplus sss/sss as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期二4月

c++学习视频资料全集

?[编程开发]《《C语言,好爽》《C++,好爽》《JAVA,好爽》让天下没有难学的知识《好爽》系列宁采臣所有开源的视频》(C, C++,JAVA)V2010版[压缩 包][2011-11-29] ?[计算机]《MS Visual C++ 6.0 程序员指南》wdl pdf[PDF][2011-11-08] ?[计算机与网络]《C++ 大学教程(第八版)》(C Interfaces And Implementations Techniques For Creating Reusable Software)文字版[PDF][2011-11-02] ?[计算机与网络]《Visual C + + 2010入门经典》(Ivor Horton's Beginning Visual C++ 2010)文字版[PDF][2011-10-15] ?[计算机]《《好爽》系列的C/C++部分(宁采臣公开的)》(HaoShuang C C++)V2011[2011-10-11] ?[计算机与网络]《VC++编程技术与难点剖析》扫描版[PDF][2011-10-05] ?[计算机与网络]《Visual C++ 2010开发权威指南》(Visual C++ 2010开发权威指南)扫描版[PDF][2011-09-14] ?[计算机与网络]《C++ Primer(第4版)习题解答》(C++ Primer(第4版)习题解答)扫描版[PDF][2011-09-02] ?[计算机]《二级C++语言程序设计(2011年版)课堂》[压缩包][2011-08-15] ?[日韩音乐]SKE48 -《パレオはエメラルド》单曲(TYPEA+B+C++剧场盘+PV)[MP3][2011-08-09] ?[计算机与网络]《高级语言C++程序设计》文字版[PDF][2011-08-09] ?[计算机与网络]《新C++标准:C++0x 概述》(Overview of the New C++ : C++0x)英文文字版[PDF][2011-07-03] ?[计算机与网络]《P2P网络技术原理与C++开发案例》影印版[PDF][2011-06-09]

(O管理)OPLSL编程手册(SL大全).

(O管理)OPLSL编程手 册(SL大全)

OraclePL/SQL编程手册(SQL大全) 一、SQL PLUS 1引言 SQL命令 以下17个是作为语句开头的关键字: alter drop revoke audit grant rollback* commit*insert select comment lock update create noaudit validate delete rename 这些命令必须以“;”结尾 带*命令句尾不必加分号,并且不存入SQL缓存区。 SQL中没有的SQL*PLUS命令 这些命令不存入SQL缓存区 @define pause #del quit $describe remark

/disconnect run accept document save append edit set break exit show btitle get spool change help sqlplus clear host start column input timing compute list ttitle connect newpage undefine copy --------- 2数据库查询 数据字典 TAB用户创建的所有基表、视图和同义词清单DTAB构成数据字典的所有表 COL用户创建的基表的所有列定义的清单

CATALOG用户可存取的所有基表清单 select*from tab; describe命令描述基表的结构信息describe dept select* from emp; select empno,ename,job from emp; select*from dept order by deptno desc; 逻辑运算符 =!=或<>>>=<<= in between value1and value2 like

SQLPLUS中SET命令

Set 命令 1). 设置当前session是否对修改的数据进行自动提交 SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n} 2). 在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 SQL> SET ECHO {ON|OFF} 3). 是否显示当前sql语句查询或修改的行数 SQL> SET FEED[BACK] {6|n|ON|OFF} 默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。 当为off 时,一律不显示查询的行数 4). 是否显示列标题 SQL> SET HEA[DING] {ON|OFF} 当set heading off 时,在每页的上面不显示列标题,而是以空白行代替 5). 设置一行可以容纳的字符数 SQL> SET LIN[ESIZE] {80|n} 如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。 6). 设置页与页之间的分隔 SQL> SET NEWP[AGE] {1|n|NONE} 当set newpage 0 时,会在每页的开头有一个小的黑方框。 当set newpage n 时,会在页和页之间隔着n个空行。 当set newpage none 时,会在页和页之间没有任何间隔。 7). 显示时,用text值代替NULL值 SQL> SET NULL text 8). 设置一页有多少行数 SQL> SET PAGES[IZE] {24|n} 如果设为0,则所有的输出内容为一页并且不显示列标题

9). 是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。 SQL> SET SERVEROUT[PUT] {ON|OFF} 在编写存储过程时,我们有时会用dbms_output.put_line将必要的信息输出,以便对存储过程进行调试,只有将serveroutput变量设为on后,信息才能显示在屏幕上。 10). 当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句。 SQL> SET WRA[P] {ON|OFF} 当输出的行的长度大于设置的行的长度时(用set linesize n命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。 11). 是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。 SQL> SET TERM[OUT] {ON|OFF} 在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度。 12). 将SPOOL输出中每行后面多余的空格去掉 SQL> SET TRIMS[OUT] {ON|OFF} 13). 设置是否显示当前时间 SQL> SET TIME {ON|OFF} 14). 显示每个sql语句花费的执行时间 SQL> SET TIMING {ON|OFF} 15). 设置列与列之间的分割符号 SQL> SET COLSEP { | } 16). 设置是否允许显示输出类似DBMS_OUTPUT SQL> SET SERVEROUTPUT {ON|OFF} 17). 设置是否允许对执行的sql进行分析 SQL> SET AUTOTRACE {ON|OFF}

中心端EPV3配置手册

中心端EPV3.0配置手册 一、准备资料 1、jdk-6u18-windows-i586.exe(32位)/Java环境变量配置.exe 2、openPlant-server-3.3-win.zip/openPlant-client-3.2.0-win32.zip 3、Oracle 11g(32位) 4、20130321epdb.dmp 5、EP3.0 6、Tomcat6.0 二、JAVA的安装与配置 1、运行jdk-6u18-windows-i586.exe,安装JDK,目录为D:\Java\; 2、运行Java环境变量配置.exe,选择JDK安装目录,配置环境变量; 三、原始库安装与配置 1、安装实时数据库openPlant的server和client; 2、运行openPlant注册工具,记录机器码并发送给上海麦杰相关负责 人索取注册文件,将注册文件license.xml放置openPlant\license\ 文件夹下,重启openPlant服务; 3、配置openPlant\config\config.xml: 1)配置镜像mirrorAddress=""为分析库地址; 2)配置磁盘空间diskLimit="250000"为500000(500G) 3)配置存储时间timeLimit="1460"为3650(10年) 四、分析库安装与配置 1、安装实时数据库openPlant的server和client; 2、运行openPlant注册工具,记录机器码并发送给上海麦杰相关负责 人索取注册文件,将注册文件license.xml放置openPlant\license\ 文件夹下,重启openPlant服务; 3、配置openPlant\config\config.xml: 1)配置磁盘空间diskLimit="250000"为500000(500G) 2)配置存储时间timeLimit="1460"为3650(10年) 五、关系库Oracle的安装与配置 1、安装oracle 11g,安装路径为D盘,字符集改为UTF8,实例名ORCL, 统一密码magusep; 2、运行SQL Plus,用户名system,密码magusep; 3、添加用户名/密码:create user ep identified by magusep;(注意分 号) 4、赋予DBA权限:grant dba to ep; 5、导入dmp文件(注意文件路径),cmd打开命令行窗口: imp ep/magusep@orcl full=y file=20130321epdb.dmp; 6、运行SQL Developer,选择Java的路径,连接名(任意):local, 用户名:ep,密码:magusep,SID:ORCL;测试是否通过; 7、查看EP相关表是否导入; 六、EP3.0的安装与配置

sqlnet.ora配置详解

用在oracleclient端,用于配置连接服务端oracle的相关参数。 1).:域名domain定义,在你用sqlplus访问数据库的时候,会在tns别名后面加上".domain" 示例:.= 在客户端执行命令:sqlplususername/password@local_dev的时候,会出现如下错误信息: "ORA-12154:TNS:无法处理服务名"或者"ORA-12154:TNS:couldnotresolveservicename"这样的错误信息。因为sqlplususername/password@orcl的时候,将tns别名“orcl”转换成了“”,所以在中找不到,就报错了。修改中的定义如下: = (DESCRIPTION= (ADDRESS_LIST= ) (CONNECT_DATA= (SERVICE_NAME=orcl) ) ) 再执行sqlplususername/password@orcl连接成功。 2):定义了在客户端连接数据库时,采用什么样的匹配方式。 示例:=(TNSNAMES,ONAMES,HOSTNAME) 那么在客户端执行sqlplususername/password@local_dev连接数据库的时,首先采用的别名配置连接数据库;如果连接上;再采用ONAMES进行解析,最后采用主机名进行解析。 ONAMES表示Oracle使用自己的名称服务器(OracleNameServer)来解析,目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES;HOSTNAME表示使用host文件,DNS,NIS等来解析; 3):定义登录数据库的认证方式,这个参数默认没有设置。 示例:=(NONE,NTS) NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用,先后顺序表明验证的优先方式。 4)=yes:表示启用客户端的IP检查,非法的IP将被拒绝访问Oracle。 5)=(IP1,IP2,IP3...):表示允许哪些IP访问Oracle。 6)=(IP1,IP2,IP3...):表示拒绝哪些IP访问Oracle。 二、 用在oracleclient端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样。提供了客户端连接某个数据库的详细信息,主机地址,端口,数据库实例名等。 示例: ORCL= (DESCRIPTION= (ADDRESS_LIST=

相关主题
文本预览
相关文档 最新文档