用shell抽取,更新db2的数据

正在看的db2教程是:用shell抽取,更新db2的数据。为工作需要而写的shell处理db2数据库的程序用shell抽取db2的数据,并进行处理。

#SQL文定义

SQL="SELECT AAA, BBB, CCC FROM MYTBL1"

#执行SQL

SDATA=`db2 "$SQL"`

#返回值判断

if [ $? -ne 0 ]

then

#显示db2返回的错误信息

echo "$SDATA"

exit 1

fi

#对取得的数据进行处理。

echo "$SDATA" | sed -e '4,/^$/!d;/^$/d' |

while read AAA BBB CCC

do

echo "AAA IS $AAA, BBB IS $BBB, CCC IS $CCC"

done

#取得数据件数

echo "$SDATA" | sed -n -e '/^$/{1,3d;n;s/[^0-9]*\([0-9]*\)[^0-9]*/\1/;p;}' | read CNT

echo "The count of selected data is $CNT."

exit 0★更新db2的数据,并取得更新结果

SQL="UPDATE MYTBL1 SET AAA='2005',BBB='05',CCC='12'"

#执行SQL

SDATA=`db2 -a "$SQL"`

#取得SQLCODE

echo "$SDATA" | sed -n -e 's/^.*sqlcode: \([-,0-9][0-9]*\).*/\1/p' | read SQLCODE

echo "Sqlcode is $SQLCODE."

#取得SQLSTATE

echo "$SDATA" | sed -n -e 's/^.*sqlstate: \([-,0-9][0-9]*\).*/\1/p' | read SQLSTATE

echo "Sqlstate is $SQLSTATE."

#取得更新件数(即sqlerrd的第三个值)

echo "$SDATA" | sed -n -e '/sqlerrd/s/^.*(3) \([-,0-9][0-9]*\).*/\1/p' | read UPDCNT

echo "Updated data's count is $UPDCNT."

#取得sqlerrd的第五个值

echo "$SDATA" | sed -n -e '/sqlerrd/{n;s/^.*(5) \([-,0-9][0-9]*\).*/\1/;p;}' | read SQLERRD5

echo "Sqlerrd(5) is $SQLERRD5."

(0)

相关推荐

  • 用shell抽取,更新db2的数据

    正在看的db2教程是:用shell抽取,更新db2的数据.为工作需要而写的shell处理db2数据库的程序用shell抽取db2的数据,并进行处理. #SQL文定义 SQL="SELECT AAA, BBB, CCC FROM MYTBL1" #执行SQL SDATA=`db2 "$SQL"` #返回值判断 if [ $? -ne 0 ] then #显示db2返回的错误信息 echo "$SDATA" exit 1 fi #对取得的数据进行处理

  • 如何访问大型机、小型机上的DB2 9数据服务器

    正在看的db2教程是:如何访问大型机.小型机上的DB2 9数据服务器. 数据库连接工具软件DB2 connect的基本特性是为桌面应用程序和服务主机的数据库服务器之间提供一种连接交互访问的方法.这些桌面应用程序所在的环境可以是Windows,Linux,或Unix中的任意一种.个人版的DB2 connect工具是实现桌面应用程序访问数据库服务器的最简单方法. 任何一台安装了个人版DB2 connect工具软件的桌面电脑,都可以依靠DB2 connect工具跟"运行在大型机服务器上的数据库-DB2

  • 使用XQuery查询DB2 XML数据

    正在看的db2教程是:使用XQuery查询DB2 XML数据. 关于 XQuery XQuery 在很多关键方面都与 SQL 有所不同,这很大程度上是因为这两种语言是针对两种具有不同特征的数据模型而设计的.XML 文档包含层次结构,并且有其固有的顺序.而基于 SQL 的数据库管理系统所支持的表格数据结构是平面的(flat),并且是基于集合的:因此,行之间不存在顺序. 这两种数据模型的不同导致它们各自的查询语言有很多基本的不同.例如,XQuery 支持路径表达式,以允许程序员在 XML 的层次结构

  • DB2 9数据服务器发展3部曲

    正在看的db2教程是:DB2 9数据服务器发展3部曲. 很难想象,现在还有什么应用跟数据库无关.就连微软的下一代操作系统Vista,也要用其数据库来组织其新式的文件系统.可以说,经过多年的发展,数据已经成为整个信息化进程和下一阶段发展的最可宝贵的资源,而保存和管理数据资源的数据库,其技术的发展和进步,就成为了最值得关心和重视的问题.从层次型数据库到管理关系型数据库,乃至目前的同时支持关系型和XML的混合型数据库DB2 9,数据库管理技术在其发展的将近40年的历程中,大致经历了以上3个阶段. IM

  • 在ASP.NET 2.0中操作数据之十六:概述插入、更新和删除数据

    导言 结束前面的几节,我们已经探讨过了如何使用GridView.DetailsView和FormView控件来显示数据.这些控件简单地操作提供给它的数据.一般地,这些控件通过使用一个数据源控件,例如ObjectDataSource来存取数据.我们已经看过了ObjectDataSource是如何在ASP.NET页面和潜在的数据之间扮演一个代理的角色.当一个GridView需要显示数据时,它调用ObjectDataSource的Select()方法,这个方法转而调用一个来自我们的业务逻辑层(BLL)

  • php+mysqli实现批量执行插入、更新及删除数据的方法

    本文实例讲述了php+mysqli实现批量执行插入.更新及删除数据的方法.分享给大家供大家参考.具体如下: mysqli批量执行插入/更新/删除数据,函数为 multi_query(). 下面的代码只是批量插入数据,事实上,插入数据.更新数据.删除数据等可以混合一起执行.查询时使用该函数,读取数据有点不太一样,具体参考如下代码: <?php //1.创建数据库连接对象 $mysqli = new MySQLi("localhost","root","

  • 在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据

    导言: 正如在教程概述插入.更新和删除数据里讨论的那样,GridView控件内置更新和删除功能,而DetailsView和FormView控件不仅具有编辑和删除功能,还有插入功能.我们不要写一行代码就可一将这些功能直接应用于一个数据源控件.在这篇教程里,我们指出ObjectDataSource控件最好与GridView, DetailsView和FormView控件一起使用,才更好的实现插入.更新和删除功能.对SqlDataSource控件来说,同样如此! 对ObjectDataSource控件

  • C#使用Ado.Net更新和添加数据到Excel表格的方法

    本文实例讲述了C#使用Ado.Net更新和添加数据到Excel表格的方法.分享给大家供大家参考.具体分析如下: 微软NET提供了一个交互的方法,通过使用ADO.NET与Microsoft Office程序.内置的OLEDB提供可以用来操纵Excel的.xls电子表格.您可以在Excel中创建一个命名的范围确定表名,我们还需要列标题,如果电子表格中不包含列标题,那么你就需要将它们添加. 如何在Excel中创建一个命名的范围? 随着电子表格打开,选择你希望包括数据查询,包括标题. 选择"插入&quo

  • Laravel 批量更新多条数据的示例

    引言 最近在写任务中,碰到一个问题,需要批量更新多条数据,但是Laravel没有提供这样的方法,Google了一些方法,刚好借着任务来举例说明一下. 任务要求 任务是一个简单的清除未读通知的API,其实就是把通知表中符合user id 和 is read = 0 的行中的 is_read改为1(0代表未读,1代表已读). 方法1 我首先想到的是利用where()方法查出user id和is read符合条件的notices,然后利用foreach循环和save()更新数据表. $notices

  • SQL Server 远程更新目标表数据的存储过程

    本文给大家分享一个远程更新目标库数据的存储过程,适用于更新列名一致,主键为Int类型,可远程链接的数据库. USE [Table]--切换到源表,就是数据最新的那个表 GO /****** Object: StoredProcedure [dbo].[proc_DataUpdate] Script Date: 2018/5/4 15:08:56 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ================

随机推荐