进入的db2命令行处理器:

db2cmd

命令的参数可以控制类似开不开事务,显示不显示返回执行结果的头部信息等等,这个参数有两种方式可以更改:

[b][size=large]db2 update command option 更改的方法[/size][/b]

Read syntax diagramSkip visual syntax diagram>>-UPDATE COMMAND OPTIONS USING--------------------------------->

   .------------------------------.
   V                              |
>----option-letter--+-ON--value-+-+----------------------------><
                    '-OFF-------'

option-letter 有下列这些:

a

显示 SQLCA

c

Auto-commit 自动提交,执行多条SQL时只有全部成功执行才提交否则回滚

e

显示 SQLCODE/SQLSTATE

l

记录日志,指定文件就写日志到指定文件,不指定就追加到SQL文件的末尾

n

删除 换行(回车换行)

o

输出执行结果到表中输出

p

显示DB2的交互提示

r

保存输出到文件

s

遇到错误就停止,多条SQL只要有一条出错则停止执行其他SQL。

v

打印所有信息

w

显示数据库的返回的警告信息

z

定向所有输出到一个文件

选项 描述 当前设置

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

-a 显示 SQLCA OFF

-c 自动落实 ON

-d 检索并显示 XML 声明 OFF

-e 显示 SQLCODE/SQLSTATE OFF

-f 读取输入文件 OFF

-i 显示 XML 数据并带有缩进 OFF

-l 将命令记录到历史记录文件中 OFF

-m 显示受影响的行数 OFF

-n 除去换行字符 OFF

-o 显示输出 ON

-p 显示交互式输入提示符 ON

-q 保留空格和换行符 OFF

-r 将输出保存到报告文件 OFF

-s 在命令出错时停止执行 OFF

-t 设置语句终止字符 OFF

-v 回传当前命令 OFF

-w 显示 FETCH/SELECT 警告消息 ON

-x 不打印列标题 OFF

-z 将所有输出保存到输出文件 OFF

[b][size=large]在执行单条命令的时候 更改的方法[/size][/b]

Skip visual syntax diagram>>-db2--+--------------------------------------------+---------><
        | .-----------------.                        |
        | V                 |                        |
        +---+-------------+-+--+-------------------+-+
        |   '-option-flag-'    +-db2-command-------+ |
        |                      +-sql-statement-----+ |
        |                      '-?--+------------+-' |
        |                           +-phrase-----+   |
        |                           +-message----+   |
        |                           +-sqlstate---+   |
        |                           '-class-code-'   |
        '-----comment--------------------------------'

我们要讲的就是-option-flag-,它就是执行SQL或命令时我们可以指定的参数,类似下面这个例子

db2 -tvf "select * from syscat.tables"

除了这个方式的命令就都是类似这种命令了:

db2 ? //显示db2所有能够用?查询帮助的命令
db2 ? import //查询import的使用帮助  +-phrase-----+  +-message----+
db2 ? sql0204 //查询-204这个返回错误代码的解释  +-sqlstate---+

言归正传,我们继续-option-flag-,前面我们使用的update command option的方法是对全局的修改,我们在的这种方式知识对单条命令的使用,如果两个都指定了就以-option-flag 为准。否则就以update command option指定,再要不然就是以默认的为准了,看看默认的情况:

Option Flag 默认情况 说明

-a OFF 见上面

-c ON 见上面

-e{c|s} OFF 见上面

-ffilename OFF 见上面

-lfilename OFF 见上面

-n OFF 见上面

-o ON 见上面

-p ON 见上面

-rfilename OFF 见上面

-s OFF 见上面

-t OFF 使用;作为命令分隔符

-tdx OFF 使用x作为命令分隔符

-v OFF 见上面

-w ON 见上面

-x OFF 见上面

-zfilename OFF 见上面

再来看看具体使用:

db2 -c "create table t1(col1 integer)"

以自动确认的方式执行这条SQL;

db2 +c "create table t1(col1 integer)"

以不自动的确认提交的方式执行这条SQL,还可以用-c-替换+c, 其它方式依次类推。