当前位置:网站首页 > SQL数据库编程 > 正文

sqlldr(sqlldr命令详解)



DIsql 帮助命令,可以帮助用户查看其他命令的具体用法。用户可以看到其他命令系统显示的内容,概括为:

  • 命令的标题
  • 命令的文本描述
  • 命令的简写(例如,AUTO 可以代替 AUTOCOMMIT)
  • 可以向命令传递的强制参数和可选参数

help 显示指定命令的帮助信息。

语法如下:

 
  

topic:命令名称或者命令名称的首字母,查询某一命令用法或者某一字母开头的所有命令用法。

示例如下:

 
  

将查询结果输出到指定文件。

语法如下:

 
  

<file_path>:指定文件的绝对路径

CRE[ATE]:创建指定的文件,若指定的文件已存在,则报错

REP[LACE]:创建指定的文件,若指定的文件已存在,则替换它,默认方式

APP[END]:将输出内容追加到指定文件的末尾

NO_PRINT:控制台不打印查询结果

OFF:关闭 SPOOL 输出

示例如下:

环境变量 CONSOLE_PRINT 缺省为 ON,具体请参见 3.3.31 CONSOLE_PRINT。

 
  

执行上述语句,控制台打印查询结果,并将查询结果输出到指定文件 d:b.sql 中。

指定 NO_PRINT。

 
  

执行上述语句,控制台不打印查询结果,只将查询结果输出到指定文件 d:b.sql 中。

使用 HOST 命令可以不用退出 DIsql 就能执行操作系统命令。如果单独执行 host,则能够直接从 DIsql 界面切换到操作系统,之后可使用 EXIT 回到 DIsql 界面。

语法如下:

 
  

<command>:操作系统命令。

示例如下:

 
  

获取表或视图、存储过程、函数、包、记录、类的结构描述。

语法如下:

 
  

各对象获取的内容略有不同:

  • 表或视图获取的内容包括列名,列数据类型,列是否可以取空值。
  • 函数、过程、类获取的内容包括两类:1)存储函数/过程名,类型(函数或过程),函数返回值类型;2)参数名,参数数据类型、参数输入输出属性、参数缺省值。
  • 包获取的内容分为两类:1)包内存储函数/过程名,类型(函数或过程),函数返回值类型;2)包内参数名,参数数据类型、参数输入输出属性、参数缺省值。
  • 记录获取的内容为:参数名,参数数据类型,参数是否可以取空值。

注意:当仅声明了包或自定义类型中的过程或函数,但包还未创建包主体或自定义类型还未创建类型体时,对包或自定义类型使用 DESC 会报错,此时不能使用 DESC。

示例如下:

例 1 获取表 sysgrants 的结构描述。

 
  

执行结果如下:

 
  

例 2 获取存储过程的结构描述。

创建一个存储过程:

 
  

获取存储过程 PROC_1 的结构描述:

 
  

执行结果如下:

 
  

例 3 获取包的结构描述

创建数据库表:

 
  

创建包:

 
  

创建包主体:

 
  

获取包 PersonPackage 的结构描述:

 
  

执行结果如下:

 
  

例 4 使用 DEPTH 显示列的结构信息

 
  

创建表 EMPINFO:

 
  

设置 DESCRIBE 的显示方式 :

 
  

获取表 EMPINFO 的结构描述如下:

 
  

设置 DEPTH 为 1 时,表 EMPINFO 的结构信息只显示至第一层。LINENUM 为 ON 时,显示行号 ID、PID 信息;反之,行号 ID、PID 信息不显示;INDENT 为 ON 时,NAME 的显示方式发生了缩进;反之,不发生缩进。

重新设置 DESCRIBE 的显示方式,并获取表 EMPINFO 的结构描述如下:

 
  

执行结果如下:

 
  

与 DEPTH 为 1 时对比,表 EMPINFO 的结构描述增加了属于第二层的两列信息:STREET 和 CITY。

定义本地变量的命令有 DEFINE 和 COLUMN。

删除本地变量的命令是 UNDEFINE。

用来定义一个本地变量的替代变量,然后对该变量赋一个 CHAR 类型的值;或者输出变量的值和类型。

语法如下:

 
  

DEF[INE] VARIABLE = text:申明一个变量,如果该变量存在,则重新赋值,否则新生成一个变量,并进行赋值。

DEF[INE] VARIABLE:如果该变量存在,则输出特定 VARIABLE 的值和类型,否则报错。

DEF[INE]:输出 DIsql 中所有的变量的值和类型。

该命令定义的替代变量在当前的 DIsql 环境和/NOLOG 环境中均可以起作用。

当使用该命令定义变量时,如果变量值包含空格或区分大小写,则用引号引注。另外,使用“DEFINE 变量名”可以检查变量是否已经定义。

DEFINE 定义的变量会保存在环境 DIsql 环境中,可以在 SQL 语句中使用。默认的变量前缀是&。

示例如下:

 
  

如果 var 没有定义,会提示输入变量的值;没有定义的 var 不会保存在 DIsql 环境中。

关闭变量替换:

 
  

例 1 Define 变量与其他字符之间的连接字符是点号’.’。示例如下:

 
  

执行结果如下:

 
  

执行结果如下:

 
  

例 2 DEFINE 变量定义为整型。

 
  

执行结果如下:

 
  

执行结果如下:

 
  

执行结果如下:

 
  

例 3 DEFINE 变量定义为字符型。

 
  

一种使用 DEFINE 字符串变量的方式

 
  

执行结果如下:

 
  

执行结果如下:

 
  

另外一种使用 DEFINE 字符串变量的方式

 
  

执行结果如下:

 
  

执行结果如下:

 
  

例 4 DEFINE 变量定义为日期类型。

 
  

执行结果如下:

 
  

执行结果如下:

 
  

定义一个本地列或表达式。

语法如下:

 
  

COL[UMN]:列举出所有的 COLUMN 变量信息。

COL[UMN] column | expr:列举出某个 column 或 expr,如果存在,则输出信息,否则报错。

COL[UMN] column | expr option:option 目前仅支持 NEW_VALUE 和 FORMAT。

NEW_VALUE:表示该 column|expr 的值同时作为变量 variable 存在。但如果该变量未赋值,通过 DEFINE 查询时,不会显示该变量。查询结果的最后一个值赋给变量 variable。

FOR[MAT]:表示该 column|expr 的列打印格式。

  1. An 或 an 是字符类型列的格式串,其中,‘A’或‘a’是字符类型列格式串的前缀,n 是列打印长度的值,n 的取值范围为 1~60000。仅当 ISQL_MODE = 1 且 COLUMN <column | expr> 为 ON 时,该参数有效。定长类型的列的打印长度不受该参数影响。

2)<fmt> 是数值类型列的格式串,格式串由格式控制符组合而成。格式控制符支持逗号(,)、点号(.)、0、9、D、G、X、V、RN、rn、FM、$、B、S、TM9、TME、C、L、EEEE、MI、PR 等,具体可参考《DM8_SQL 语言使用手册》8.1 节中函数 to_char 中关于 fmt 的相关描述。

示例如下:

准备数据如下:

 
  

例 1 将列 C1 的值作为变量 DVAR,缺省 COLUMN C1 ON。

 
  

执行结果如下:

 
  

例 2 设置 ISQL_MODE 为 1,C1 列的列打印长度为 8,缺省 WRAP 为 ON,表示折行打印结果集,缺省 COLUMN C1 ON。

 
  

执行结果如下:

 
  

通过如下方式设置是否将变量 variable 或列打印长度 format 与 column|expr 相关联,缺省值为 ON,表示已关联。

语法如下:

 
  

示例如下:

 
  

例 3 设置 ISQL_MODE 为 1,设置数值类型列 C1 格式串为 09,99.999。

 
  

执行结果如下:

 
  

删除一个或多个本地变量,此变量可以是 DEFINE 定义生成的本地变量,也可以是 COLUMN 关联的本地变量。

语法如下:

 
  

示例如下:

 
  

从命令行读取内容,将其赋值给变量。

语法如下:

 
  

< 变量名 >:用于指定存储读取内容的变量名。最大长度为 30 个字符,如果变量不存在则新加一个变量。

< 变量类型 >:变量的类型,支持 NUMBER、CHAR、DATE、FLOAT 和 DOUBLE。缺省为 CHAR。

FOR[MAT] *<*format>:指定输入内容的格式,如果输入内容不满足指定格式报错重新输入。具体用法参考 COLUMN 命令的 FORMAT。

DEF[AULT] < 缺省值 >:指定变量的缺省值。< 缺省值 > 必须满足 FORMAT 格式,如果命令行没有输入内容,则给变量赋值 < 缺省值 >。如果未指定 DEF[AULT] < 缺省值 >,且命令行没有输入内容,则给变量赋值空串。

< 前导字符串 >:PROMPT 指定前导字符串。NOPR[OMPT]指定不用前导字符串。缺省为不指定。

HIDE:用于指定将输入内容隐藏。缺省则不隐藏。

示例如下:

例 定义一个变量 VAR,将命令行输入值 8888 赋值给变量 VAR。

 
  

用 EXPLAIN 命令来查看查询语句的执行计划。

语法如下:

 
  

<sql_clause>请参考《DM8_SQL 语言使用手册》。

示例如下:

 
  

用 whenever 命令可以设置异常处理方式,继续执行或退出 DIsql。

语法如下:

 
  

n 和<variable>的返回值受限于操作系统,在不同平台下,会有所不同,例如:UNIX 系统只用一个字节来存 code,所以返回值的范围只在 0~255 之间。

示例如下:

 
  

执行结果如下:

 
  

当结果集过多,屏幕只能显示一个时,用户可以使用 MORE 命令切换到下一个结果集。

 
  

例如,当执行如下语句时,用户想查看更多的结果集,可以使用 MORE 命令。

 
  

显示最近执行的 SQL 语句或者 PL/SQL 块信息。不显示 DIsql 命令。

语法如下:

 
  

n ,m :数值 SQL 行号。

*: 当前行号。

LAST: 最后一行。

当插入语句中包含大字段数据文件时,使用 @。

 
  

<ins_value> :如果插入值为大字段数据文件,则使用 @'file_path'格式。如果插入值是常规数据,则正常插入即可。

示例如下:

例如,在 test 表中插入大字段数据文件 DSC_1663.jpg、DSC_1664.jpg、DSC_1665.jpg、DSC_1666.jpg。

 
  

清理指定操作本地缓存。

语法如下:

 
  

COL[UMNS]:清理所有的 COLUMN 变量信息。

SQL:清理本地 SQL 缓存信息。

SCR[EEN]:清理 DIsql 终端屏幕信息。

BUFF[ER]:同 SQL 功能一样,清理本地 SQL 缓存信息。

示例如下:

 
  

追加内容到 SQL 缓存中当前行的末尾。

语法如下:

 
  

text:sql 语句。

示例如下:

到此这篇sqlldr(sqlldr命令详解)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  

                            

版权声明


相关文章:

  • sql文件怎么导入sqlyog(如何将sql文件导入sqlyog)2025-11-16 12:45:09
  • oracal和mysql的区别(mysql与orcale区别)2025-11-16 12:45:09
  • sql文件在哪个位置打开(sql怎么打开文件)2025-11-16 12:45:09
  • pymysql怎么安装(pymysql下载安装)2025-11-16 12:45:09
  • pymysql占位符用法(pymysql 占位符)2025-11-16 12:45:09
  • orecal和mysql区别(mysql与orcle的区别)2025-11-16 12:45:09
  • pymysql(Pymysql无法连接mysql服务的原因)2025-11-16 12:45:09
  • sql里面for循环(sql语句中foreach循环)2025-11-16 12:45:09
  • sql语句的for循环(sql语句中foreach循环)2025-11-16 12:45:09
  • mysql查询锁表吗(mysql数据库查询锁表)2025-11-16 12:45:09
  • 全屏图片