sqlplus执行sql脚本
Sqlplus的使用
Sql*plus的使用Sql*plus的使用Sql*plus介绍Sql*plus是oracle提供的一个工具程序,既可以在oracle服务器使用,也可以在oracle 客户端使用。
在windows下分两种,sqlplus.exe是命令行程序,sqlplusw.exe是窗体程序,通常我们在开始菜单中启动的是后者,两者的功能是一致的。
Sql*plus是一个最常用的工具,具有很强的功能,主要有:1. 数据库的维护,如启动,关闭等,这一般在服务器上操作。
2. 执行sql语句执行pl/sql。
3. 执行sql脚本。
4. 数据的导出,报表。
5. 应用程序开发、测试sql/plsql。
6. 生成新的sql脚本。
7. 供应用程序调用,如安装程序中进行脚本的安装。
2 dual表dual是一张系统表,同时也被定义成了public同义词。
它只有一个字段和一条记录。
该表本身的结构和数据没有什么意义,主要是借助该表进行其它操作。
如:select sysdate from dual; --获取函数值select 21+15*3 from dual; --计算表达式的值说明:不要对dual表进行ddl与dml操作,只进行查询操作。
3 sql*plus使用3.1 启动sql*plus1. 不带参数启动启动sqlplusw.exe程序,会弹出登陆框,让输入用户名、密码和连接字符串,在用户名中输入“/nolog”,表示先进入sql>提示符,先不连接数据库,下面可以利用connect命令连接数据库。
启动sqlplus.exe程序,会提示输入用户名与密码。
如果用户名输入2. 带参数启动下面列举一些最常见的方式,还有很多可选参数。
1) 不连接数据库sqlplus /nolog2) 连接数据库sqlplus username/password3) 使用net8连接字符串连接数据库sqlplus username/password@connstr4) 连接后执行filename指定的sql脚本,sql脚本中是sql命令和sql*plus的设置命令sqlplus username/password[@connstr] @filename3.2 sql*plus的命令3.2.1 帮助命令1. help命令格式:help 命令名,用于知道某个具体命令的帮助信息。
sqlplus常用命令
6、显示一个表结构:
SQL> desc tab --如果tab不是表,则只显示其类型和名字
7、保存所有输入:
SQL> spool D:\xxx --建立一个xxx.LST文件
SQL> spool --显示当前spool状态
SQL> COLUMN id TRUNCATED --直接按长度截断
7、COLUMN--显示当前列所有属性
SQL> COLUMN id --后面不加列名时显示所有的COLUMN
8、OFF|ON--设置某一字段关闭
设置一行可以容纳的字符数
SQL> SET LIN[ESIZE] {80|n}
如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。
设置页与页之间的分隔
SQL> SET NEWP[AGE] {1|n|NONE}
当set newpage 0 时,会在每页的开头有一个小的黑方框。
常用的SQLPLUS输出格式化命令:
执行一个SQL脚本文件
SQL>start file_name
SQL>@ file_name
将显示的内容输出到指定文件
SQL> SPOOL file_name
关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
SQL> BTITLE def --添加页脚“def”
SQL> TTITLE OFF --取消页眉显示
三、COLUMN[COL]命令修改字段属性:
可以修改的属性有:
ALI[AS] alias
PLSQL怎么执行SQL语句
通过f5查看到的执行计划,其实是pl/sql developer工具内部执行查询 plan_table表然后格式化的结果。
select * from plan_table where statement_id=...。
其中description列描述当前的数据库操作,object owner列表示对象所属用户,object name表示操作的对象,cost列表示当前操作的代价(消耗),这个列基本上就是评价sql语句的优劣,cardinality列表示操作影响的行数,bytes列表示字节数篇二:plsqldeveloper工具使用教程plsql入门pl/sql的概述pl/sql的优势pl/sql是一种块结构的语言,允许你将业务逻辑封装在一起,这是到目前为止使用pl/sql的最大优势pl/sql是在服务器上运行,可以与数据库和sql引擎直接进行交互,pl/sql是什么?(procedural language/sql) 是oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用列外处理各种错误,这样使得它的功能变得更加强大。
特性: 减少java程序的复杂性一.过程,函数,触发器是pl/sql编写的二.过程、函数、触发器是在oracle中三. pl/sql是非常强大的数据库过程语言四.过程,函数可以再java程序中调用为什么学?a) 提高应用程序的运行性能b) 模块化的设计思想[分页的过程,订单的过程,转账的过程]c) 减少网络传输量(传统的方法,用sql语句传输!现在就只需要调用存储过程) d) 提高安全性(传统sql 可以看到表名字段等…)不好:移植性不好,(你写好的存储过程,函数等当我们要换数据库时,这些东西就没用了)开发工具:1. sqlplus 开发工具是oracle公司提供的一个工具,这个因为我们在以前介绍过:2. pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide)它是一个独立的产品,而不是oracle的一个附带品,createprocedure sp_pro1//存储过程名字 isbegin---执行部分insert into mytest values(‘’,’’);end;/查看错误信息show error;调用过程:有两中方式1 exec 过程名(参数值1,参数值2…..)2 call 过程名用pl/sql developer--案例create or replace procedure简单分类pl/sql developer 工具的使用:plsql developer是一个为oracle数据库开发存储程序单元的集成开发环境,使用plsql developer你能方便的创建你的客户/服务器应用程序的服务器部分。
PLSQL怎么执行SQL语句
通过f5查看到的执行计划,其实是pl/sql developer工具内部执行查询 plan_table表然后格式化的结果。
select * from plan_table where statement_id=...。
其中description列描述当前的数据库操作,object owner列表示对象所属用户,object name表示操作的对象,cost列表示当前操作的代价(消耗),这个列基本上就是评价sql语句的优劣,cardinality列表示操作影响的行数,bytes列表示字节数篇二:plsqldeveloper工具使用教程plsql入门pl/sql的概述pl/sql的优势pl/sql是一种块结构的语言,允许你将业务逻辑封装在一起,这是到目前为止使用pl/sql的最大优势pl/sql是在服务器上运行,可以与数据库和sql引擎直接进行交互,pl/sql是什么?(procedural language/sql) 是oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用列外处理各种错误,这样使得它的功能变得更加强大。
特性: 减少java程序的复杂性一.过程,函数,触发器是pl/sql编写的二.过程、函数、触发器是在oracle中三. pl/sql是非常强大的数据库过程语言四.过程,函数可以再java程序中调用为什么学?a) 提高应用程序的运行性能b) 模块化的设计思想[分页的过程,订单的过程,转账的过程]c) 减少网络传输量(传统的方法,用sql语句传输!现在就只需要调用存储过程) d) 提高安全性(传统sql 可以看到表名字段等…)不好:移植性不好,(你写好的存储过程,函数等当我们要换数据库时,这些东西就没用了)开发工具:1. sqlplus 开发工具是oracle公司提供的一个工具,这个因为我们在以前介绍过:2. pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide)它是一个独立的产品,而不是oracle的一个附带品,createprocedure sp_pro1//存储过程名字 isbegin---执行部分insert into mytest values(‘’,’’);end;/查看错误信息show error;调用过程:有两中方式1 exec 过程名(参数值1,参数值2…..)2 call 过程名用pl/sql developer--案例create or replace procedure简单分类pl/sql developer 工具的使用:plsql developer是一个为oracle数据库开发存储程序单元的集成开发环境,使用plsql developer你能方便的创建你的客户/服务器应用程序的服务器部分。
SQLPlus命令使用大全
SQL*PLUS命令的使用大全SQL*PLUS命令的使用大全1. 执行一个SQL脚本文件 (1)2. 对当前的输入进行编辑 (1)3. 重新运行上一次运行的sql语句 (1)4. 将显示的内容输出到指定文件 (1)5. 关闭spool输出 (2)6.显示一个表的结构 (2)7. COL命令: (2)1). 改变缺省的列标题 (2)2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上: (2)3). 改变列的显示长度: (3)4). 设置列标题的对齐方式 (3)5). 不让一个列显示在屏幕上 (3)6). 格式化NUMBER类型列的显示: (4)7). 显示列值时,如果列值为NULL值,用text值代替NULL值 (4)8). 设置一个列的回绕方式 (4)9). 显示列的当前的显示属性值 (4)10). 将所有列的显示属性设为缺省值 (4)8. 屏蔽掉一个列中显示的相同的值 (5)9. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。
(5)10. 显示对BREAK的设置 (5)11. 删除8、9的设置 (5)12. Set 命令: (5)1).设置当前session是否对修改的数据进行自动提交 (7)2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句.73).是否显示当前sql语句查询或修改的行数 (7)4).是否显示列标题 (7)5).设置一行可以容纳的字符数 (7)6).设置页与页之间的分隔 (7)7).显示时,用text值代替NULL值 (7)8).设置一页有多少行数 (7)9).是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。
(8)10).当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句。
(8)11).是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。
sqlplus -s用法
sqlplus -s用法
sqlplus是Oracle数据库的交互式命令行工具,-s选项是其中的一个参数,表示“静默模式”。
使用-s选项可以在执行sqlplus
命令时,不显示启动和退出信息,只显示查询结果。
这在需要在脚
本或者批处理中执行SQL语句时非常有用,可以避免额外的输出干扰。
举例来说,假设我们有一个脚本文件test.sql包含SQL查询语句,我们可以使用以下命令来执行该脚本并在静默模式下输出结果:
sqlplus-susername/password@*****************.
这样就会在不显示额外信息的情况下执行test.sql中的SQL语句,并将查询结果输出到标准输出。
需要注意的是,-s选项并不会隐藏错误信息,所以在实际使用中,仍然需要对SQL语句的执行结果进行适当的错误处理。
总之,sqlplus -s选项的主要作用是在执行SQL语句时以静默
模式输出结果,适用于需要在脚本或者批处理中执行SQL查询的场景。
SQLPLUS命令的使用大全
.SQLPLUS命令的使用大全1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。
该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] text.OLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORKsql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN.4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----.HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n 个空行。
SQLPLUS命令的使用大全资料
SQLPLUS命令的使用大全(加入日期:2005-12-12)【保存文章至硬盘】【打印文章】【字体:大中小】分享到:1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。
该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] textOLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORKsql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n 个空行。
SQLPLUS命令的使用大全
1). 改变缺省的列标题
COLUMN column_name HEADING column_heading
For example:
Sql>select * from dept;
DEPTNO DNAME LOC
---------- ---------------------------- ---------
FROM EMP
WHERE SAL < 2500
ORDER BY DEPTNO;
DEPTNO ENAME SAL
---------- ----------- ---------
10 CLARK 2450
MILLER 1300
[SQLPLUS命令的使用大全]
1. 执行一个SQL脚本文件
SQL>start file_name
SQL>@ file_name
我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑
Department name Salary
---------- ---------- ----------
10 aaa 11
SQL> COLUMN ENAME HEADING ’Employee|Name’
DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}]
ECHO {ON|OFF}
EDITF[ILE] file_name[.ext]
EMB[EDDED] {ON|OFF}
sqlPlus操作指南
---------- ------------------- -------------------
SCOTT ¥3000.00 04/19/1987 00:00:00
(2)在windows环境中运行sql*plus
如果在windows环境中安装了oralce数据库产品,那么可以在窗口环境中运行sql*plus
具体方法: "开始->程序->oracle-oradb10g_home1->application development->sql*plus"
2.连接命令
sql>col ename clear
sql>col sal clear
sql>select ename,sal,hiredate from emp
sql>where empno=7788;
(2)title
该命令用于指定页标题,页标题会自动显示在页的中央。如果页标题由多个词组成,则用单引号引住。如果要将页
SQL> l
1 select ename
2* from emp
如果一次要删除多行,则指定起始行号和终止行号,例如"del 3 5"
(5)i[nput]
该命令用于在sql缓冲区的当前行后新增加一行。示例如下:
SQL> l
1 select ename
3* where deptno=10
sql>a and job='CLERK'
sql>l
SQL> list
1 select empno,ename,sal,hiredate,comm,deptno
如何在sqlplus中查看、修改、执行缓存的SQL语句
如何在sqlplus中查看、修改、执⾏缓存的SQL语句
在sqlplus中,如果没有上下翻页⼯具,sqlplus是不能向Linux终端⼀样上下翻历史命令的,但sqlplus会记录最近的⼀⾏DML语句到buffer 中,我们可以使⽤⼀些简单的命令查看、修改、执⾏记录在buffer中的语句,如下:
l[ist] [n] 查看buf中的SQL:
del [n] 移除buf中的某⾏SQL:
cl[ear] buff[er] 移除buf中语句:
C[hange]/old_value/new_value 表⽰更改第⼀个出现的字符:
此外,还有I和A,分别表⽰:
I[NPUT] 当前⾏下加新内容,即新增⼀⾏
A[PPEND] 当前⾏尾增加内容
上⾯⽅法中,在修改⼀些简单的SQL语句还好,但是如果执⾏⼀些⽐较复杂的SQL语句,再做修改的话,就会稍微有点⼉⿇烦,此时我们可以借助“VI”等⽂本编辑器来对缓存的SQL做更改
⾸先是定义我们使⽤哪个编辑器,以“VI”编辑器为例:
定义好编辑器后,我们就可以使⽤ed命令像编辑⽂本⼀样编辑缓存的SQL语句了。
Oracle基础:通过sqlplus执行sql语句后的结果进行判断
Oracle基础:通过sqlplus执⾏sql语句后的结果进⾏判断这篇⽂章介绍⼀下如何对sqlplus执⾏的sql语句结果进⾏判断。
环境准备使⽤Oracle的精简版创建docker⽅式的demo环境,详细可参看:常见问题在sqlplus中执⾏sql语句,如果直接使⽤命令⾏的⽅式调⽤时会碰到两个问题:问题1: 需要进⾏交互性的输⼊问题2:结果的判断不能通过返回值来确认解决⽅式在脚本调⽤⾥,解决⽅式如下问题1可以通过前⽂提到的Here Document来解决。
问题2,则可以通过对输出的判断来进⾏,因为Oracle的错误代码基本以ORA-打头,所以根据输出中是否包含ORA-,基本可确认是否存在错误。
执⾏结果判断⽰例这⾥使⽤命令⾏的⽅式进⾏验证,直接拷贝到脚本中即可以使⽤脚本的⽅式与sqlplus进⾏集成。
oracle@e871d42341c0:~$ sqlplus system/liumiao123@XE <<EOF> desc student> delete from student;> select * from student;> insert into student values (1001, 'liumiaocn');> insert into student values (1001, 'liumiao');> insert into student values (1003, 'michael');> commit;> select * from student;> EOFSQL*Plus: Release 11.2.0.2.0 Production on Mon Oct 22 05:18:51 2018Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit ProductionSQL> Name Null? Type----------------------------------------- -------- ----------------------------STUID NOT NULL NUMBER(4)STUNAME VARCHAR2(50)SQL>3 rows deleted.SQL>no rows selectedSQL>1 row created.SQL> insert into student values (1001, 'liumiao')*ERROR at line 1:ORA-00001: unique constraint (SYSTEM.SYS_C007024) violatedSQL>1 row created.SQL>Commit complete.SQL>STUID STUNAME---------- --------------------------------------------------1001 liumiaocn1003 michaelSQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Productionoracle@e871d42341c0:~$ echo $?oracle@e871d42341c0:~$从上⽂可以看到,三⾏insert的sql语句由于第⼆⾏的主键重复,出现错误,但是最终的结果使⽤命令⾏的⽅式⽆法对结果进⾏判断,这是控制台⽅式的常见场景,⽐如sftp或者ftp等也有此特点,⼀般常⽤的对应⽅式⽆法通过返回值进⾏判断,只能通过输出来进⾏判断。
sqlplus用法
sqlplus用法
sqlplus是Oracle数据库中常用的命令行工具,用于连接并操
作Oracle数据库。
它可以通过以下几个步骤进行使用:
1. 打开命令行窗口,并输入sqlplus命令。
按下Enter键,进
入sqlplus环境。
2. 输入用户名和密码,格式为: username/password@database。
其中,username是已经创建的用户名,password是对应的密码,database是要连接的数据库名。
3. 连接成功后,可以输入SQL语句进行操作。
常用的SQL语句
包括:SELECT、INSERT、UPDATE、DELETE等。
4. 如果想要退出sqlplus环境,可以使用EXIT命令。
除了以上基础操作之外,sqlplus还具备其他一些高级功能,如:使用@符号执行脚本文件、使用SET命令设置环境变量等。
需要注意
的是,在使用sqlplus时应当注意安全性,避免未经授权的访问和修改数据库。
- 1 -。
sqlplus 用法
`sqlplus` 是Oracle 提供的一个命令行工具,用于连接和管理Oracle 数据库。
下面是`sqlplus` 的一些基本用法:
1. 连接到数据库:
sqlplus username/password@hostname:port/service_name
这里的`username` 是数据库用户名,`password` 是密码,`hostname` 是数据库服务器主机名或IP 地址,`port` 是数据库监听的端口号,`service_name` 是数据库的服务名。
输入此命令后,会提示输入密码来连接数据库。
2. 运行SQL 命令:
在`sqlplus` 中,可以直接输入SQL 命令来查询、更新数据库。
比如:
SELECT * FROM employees;
3. 退出`sqlplus`:
在`sqlplus` 中,可以使用`exit` 命令退出命令行工具。
4. 保存和执行SQL 脚本:
在`sqlplus` 中,可以使用`@` 命令加载并执行SQL 脚本。
比如:
@script.sql
5. 输出控制:
在`sqlplus` 中,可以使用`set` 命令来控制输出格式、显示行数等。
比如:
set linesize 100
这些是`sqlplus` 的一些基本用法,可以帮助您连接到Oracle 数据库并执行SQL 命令。
如果需要更多详细的用法和选项,可以查阅`sqlplus` 的官方文档或者使用`sqlplus -h` 命令查看帮助信息。
使用SQLPLUS
连接命令 • • • •
CONN[ECT] DISC[ONNECT] PASSW[ORD] EXIT
编辑命令 • •
当在SQL*Plus中执行SQL语句时,Oracle会将 SQL语句暂时存放到SQL缓冲区中 当执行新的SQL语句时,会自动清除先前SQL缓冲 区的内容,并将新语句放到SQL缓冲区中 编辑命令可以显示、编辑和修改sQL缓冲区的内容
如: SQL>GET c:\a.sql
START和@:运行SQL脚本 @@: 与@相似,主要用于脚本文件中嵌套调用其 它的脚本文件 EDIT:通过默认的编辑器进行编辑 SPOOL:将屏幕内容存入到文本文件中
格式命令 •
COLUMN
– An:设置CHAR、VARCHAR2类型列的显示宽度; – 9:在NUMBER类型列上禁止显示前导0
交互式命令 • •
&
– 替代变量(Substitution Variable)
&&
– &&在当前会话有一直有效
• DEFINE
– 用于定义类型为CHAR的替代变量 – 所定义的替代变量只在当前有效
SOL>SET VERIFY OFF SQL>DEFINE title='CLERK' SQL>SELECT ename,sal FROM emp WHERE job='&title';
交互式命令 •
ACCEPT
– 用于定义CHAR、NUMBER和DATE类型的替代变量 – 可以定义输入提示、变量输入格式、隐藏输入内容
SOL>ACCEPT title PROMPT ‘请输入岗位’
SQL>ACCEPT pwd HIDE
oracle下如何执行一个本地的.sql脚本文件
3、提示数据库连接成功后,执行脚本文件
@'c:\create.sql';或者 @@c:\create.sql;
如果说用plsql工具,那么直接新建一个命令窗口,然后直接执行下面同样的代码即可:
@'c:\create.sql';或者 @@c:\create.sql;
网络错误503请刷新页面重试持续报错请尝试更换浏览器或网络环境
oracle下如何执行一个本地的 .sql脚本文件
分析:
我们通常在开发过程中会遇到很多程序修改或者批量修改数据的时候,会选择脚本的文件的形式通过命令来执行,那么么用plsql或者 sqlplus执行sql脚本文件呢?
说明:
如果说现在在c盘盘符下放置了一个我们需要执行的create.sql脚本文件,如果说用sqlplus去执行这个脚本文件: 1、进入到运行命令窗口。 2、登录sqlplus