假设:

A.数据库servername: testserver

B.数据库名:testdb

C.SQL脚本文件:

sqlfile.sql

create table test_table(c1 integer);

insert into test_table(c1) values(12);

update test_table set c1=0;

delete test_table where 1=1;

drop table test_table;

sqlfile2.sql

create table test_table(c1 integer);

insert into test_table(c2) values(12);

insert into test_table(c1) values(12);

update test_table set c1=0;

delete test_table where 1=1;

drop table test_table;


一.执行SQL脚本文件方式

1.调用dbaccess执行SQL脚本文件

A.简单执行SQL文件

dbaccess testdb sqlfile.sql 或者  dbaccess testdb@testserver sqlfile.sql

Database selected.
     Table created.
     1 row(s) inserted.
     1 row(s) updated.
     1 row(s) deleted.
     Table dropped.
     Database closed.

B.执行输出打印执行语句及执行结果

dbaccess -e testdb sqlfile.sql

create table test_table(c1 integer);
       Table created.
     insert into test_table(c1) values(12);
       1 row(s) inserted.
     update test_table set c1=0;
       1 row(s) updated.

delete test_table where 1=1;
       1 row(s) deleted.

drop table test_table;
       Table dropped.
     Database closed.

C.将执行结果重定向到文件(shell: bash)

dbaccess -e testdb sqlfile.sql > output.log > 2&1

     cat output.log

     create table test_table(c1 integer);
       Table created.
     insert into test_table(c1) values(12);
       1 row(s) inserted.
     update test_table set c1=0;
       1 row(s) updated.

     delete test_table where 1=1;
       1 row(s) deleted.

     drop table test_table;
       Table dropped.
     Database closed.

二.交互模式执行语句

dbaccess - -
    > database testdb;

Database selected.

> create table test_table(c1 integer);
        Table created.

> insert into test_table(c1) values(12);
        1 row(s) inserted.
     > update test_table set c1=0;
        1 row(s) updated.

     > delete test_table where 1=1;
        1 row(s) deleted.

     > drop table test_table;
        Table dropped.

>^D

三.菜单模式执行

进入数据库

dbaccess  选择数据库

或者

dbaccess testdb

dbaccess testdb@testserver

按菜单操作执行SQL语句,其中可以使用vi进行脚本文件的编辑

四.几个小技巧

1.执行SQL脚本文件时,当出错时打印详细的错误信息

    dbaccess -e -m testdb sqlfile2.sql

Database selected.
 
create table test_table(c1 integer);
   Table created

insert into test_table(c2) values(1212);
  217: Column (c2) not found in any table in the query (or SLV is undefined).
Error in line 2
Near character position 26
 
   insert into test_table(c1) values(12);
1 row(s) inserted.
      update test_table set c1=0;
1 row(s) updated.
         delete test_table where 1=1;
1 row(s) deleted.
            drop table test_table;
Table dropped.
Database closed.

2.执行SQL脚本文件时,当出错时打印详细的错误信息并在出现第一个错误时,停止继续执行后续的语句

    dbaccess -e -m -a testdb sqlfile2.sql

Database selected.
 
create table test_table(c1 integer);
Table created.
 
insert into test_table(c2) values(1212);
  217: Column (c2) not found in any table in the query (or SLV is undefined).
Error in line 2
Near character position 26
 
Database closed.

informix dbaccess 常用执行方式及常见技巧的更多相关文章

  1. python常用执行方式&变量&input函数

    linux系统中执行py文件方式:  ./a.py 需要执行权限 chmod -R 777(最大权限) 常用执行方式: 1. ./a.py2. python a.py 文件内部头加上 #!/usr/b ...

  2. shell脚本的常用执行方式

    1.sh+脚本的相对路径 [jinghang@hadoop101 datas]$ sh helloworld.sh helloworld sh+脚本的绝对路径 [jinghang@hadoop101 ...

  3. iOS代码加密常用加密方式

    iOS代码加密常用加密方式 iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密.AES加密.BASE64加密,三大算法iOS代码加密是如何进行加密的,且看下文 MD5 iO ...

  4. 找到你的位置(JS在页面中的位置)最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分

    找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页 ...

  5. python基础===Python 代码优化常见技巧

    Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...

  6. 「持续集成实践系列 」Jenkins 2.x 构建CI自动化流水线常见技巧

    在上一篇文章中,我们介绍了Jenkins 2.x实现流水线的两种语法,以及在实际工作中该如何选择脚本式语法或声明式语法.原文可查阅:「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要 ...

  7. MySQL DDL执行方式-Online DDL介绍

    1 引言 大家好,今天与大家一起分享一下 mysql DDL执行方式. 一般来说MySQL分为DDL(定义)和DML(操作). DDL:Data Definition Language,即数据定义语言 ...

  8. jQuery中ajax的4种常用请求方式

    jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...

  9. DataGridView 中添加CheckBox和常用处理方式 .

    DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...

随机推荐

  1. 到底为什么你的APP项目烂尾了?

    你正在经历迷茫.纠结,或者愤怒.痛苦的情绪,因为,你的APP项目已经或将要烂尾了. 目前的状况只有3种: 项目一直拖到现在,并且很可能继续拖下去 项目在开发期间不断上涨成本 项目完成,BUG多多,不能 ...

  2. mongoDB(3) mapReduce

    mapReduce是大数据的核心内容,但实际操作中别用这个,所谓的mapReduce分两步 1.map:将数据分别取出,Map函数调用emit(key,value)遍历集合中所有的记录,将key与va ...

  3. cocoa pods报错The dependency `Reveal-iOS-SDK` is not used in any concrete target.

    Podfile错误写法,会报错The dependency `Reveal-iOS-SDK` is not used in any concrete target. platform:ios,'7.0 ...

  4. JQuery实现click事件绑定与触发方法分析

    原生JS通过什么方法绑定click事件? 原生js有一下三种方法为DOM对象绑定click事件, 第一种,在html中添加 onclick属性,在此属性中添加要绑定的事件函数,如下, 这种方法为htm ...

  5. scrum3.0

    3.0----------------------------------------------------- SCRUM 流程的步骤2: Spring 计划 1. 确保product backlo ...

  6. javascript设计模式简介

  7. 关于Beta分布、二项分布与Dirichlet分布、多项分布的关系

    在机器学习领域中,概率模型是一个常用的利器.用它来对问题进行建模,有几点好处:1)当给定参数分布的假设空间后,可以通过很严格的数学推导,得到模型的似然分布,这样模型可以有很好的概率解释:2)可以利用现 ...

  8. :nth-child

    匹配其父元素下的第N个子或奇偶元素 :eq(index) 匹配选择器指定序列的元素,而这个将为每一个父元素匹配子元素. :nth-child从1开始的,而:eq()是从0算起的!可以使用:<br ...

  9. php中rsa加密解密验证

    RSA非对称加密,对敏感的数据传输进行数据加密.验证等.测试环境:wamp.aliyun虚拟主机(lamp)一.加密解密的第一步是生成公钥.私钥对,私钥加密的内容能通过公钥解密(反过来亦可以).下载生 ...

  10. PostgreSQL Hot Standby的主备切换

    一. 简介:          PG在9.*版本后热备提供了新的一个功能,那就是Stream Replication的读写分离,是PG高可用性的一个典型应用.其中备库是只读库:若主库出现故障:备库这个 ...