informix dbaccess 常用执行方式及常见技巧
假设:
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 常用执行方式及常见技巧的更多相关文章
- python常用执行方式&变量&input函数
		
linux系统中执行py文件方式: ./a.py 需要执行权限 chmod -R 777(最大权限) 常用执行方式: 1. ./a.py2. python a.py 文件内部头加上 #!/usr/b ...
 - shell脚本的常用执行方式
		
1.sh+脚本的相对路径 [jinghang@hadoop101 datas]$ sh helloworld.sh helloworld sh+脚本的绝对路径 [jinghang@hadoop101 ...
 - iOS代码加密常用加密方式
		
iOS代码加密常用加密方式 iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密.AES加密.BASE64加密,三大算法iOS代码加密是如何进行加密的,且看下文 MD5 iO ...
 - 找到你的位置(JS在页面中的位置)最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分
		
找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页 ...
 - python基础===Python 代码优化常见技巧
		
Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...
 - 「持续集成实践系列 」Jenkins 2.x 构建CI自动化流水线常见技巧
		
在上一篇文章中,我们介绍了Jenkins 2.x实现流水线的两种语法,以及在实际工作中该如何选择脚本式语法或声明式语法.原文可查阅:「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要 ...
 - MySQL DDL执行方式-Online DDL介绍
		
1 引言 大家好,今天与大家一起分享一下 mysql DDL执行方式. 一般来说MySQL分为DDL(定义)和DML(操作). DDL:Data Definition Language,即数据定义语言 ...
 - jQuery中ajax的4种常用请求方式
		
jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...
 - DataGridView 中添加CheckBox和常用处理方式 .
		
DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...
 
随机推荐
- keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群
			
keepalived工作原理和配置说明 腾讯云VPC内通过keepalived搭建高可用主备集群 内网路由都用mac地址 一个mac地址绑定多个ip一个网卡只能一个mac地址,而且mac地址无法改,但 ...
 - Struts2(一):怎么创建对应版本的struts.xml
			
1.eclisep导航菜单:windows->preferences->Xml->Xml Catalog; 2.在Xml Catalog右侧,添加一个新的XML Catalog: 3 ...
 - opencv实现图像邻域均值滤波、中值滤波、高斯滤波
			
void CCVMFCView::OnBlurSmooth()//邻域均值滤波 { IplImage* in; in = workImg; IplImage* out = cvCreateImage( ...
 - Leetcode: Number of Segments in a String
			
Count the number of segments in a string, where a segment is defined to be a contiguous sequence of ...
 - ligerui_ligerTree_007_ligerTree动态加载节点
			
ligerui:ligerTree:动态加载节点: 源码地址:http://download.csdn.net/detail/poiuy1991719/8571255 效果图: 代码:json.txt ...
 - jquery validate 自定义验证方法
			
query validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方法 ...
 - 更新数据前jquery如何填充数据到表单域中
			
$("#p_city option[value='${project.city}']").attr("selected","selected" ...
 - AJAX-----16HTML5实现大文件切割上传
			
2点多接了个电话导致失眠,没办法,跑起来接着板砖了...... 废话不多说,直接走码... <!DOCTYPE html> <html lang="en"> ...
 - React高级特性
			
目录: 容器组件 JSX可展开属性 动画 : CSS3 Transition 默认属性 复用代码:mixin 容器组件 React元素也可以包含其他的子元素,这意味着响应的React组件是一个 容器组 ...
 - Application.DoEvents():概念
			
When you run a Windows Form, it creates the new form, which then waits for events to handle. Each ti ...