当前位置:首页 » 编程语言 » shell脚本判断sql执行结果
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

shell脚本判断sql执行结果

发布时间: 2023-01-01 22:58:54

A. LINUX下shell脚本如何执行 sql脚本 到DB2数据库

1、在gedit中编写.sh格式的文件,保存为a.sh。

B. 在shell脚本中使用 isql 执行SQL语句 查询sybase数据库中满足条件的记录条数,怎么把查询结果赋给变量

放在一个批处理中执行就可以了
use natdb
go
declare @Nrows integer
select @Nrows=count(*) from test_userdata
if @Nrows>0
update ....
else
insert ...
go

C. 怎么在shell脚本里面获得sqlplus执行的结果

请参考下面这个方法:

备注:getDbUserByTableName$TableName是获取表在哪个数据库的。你可以直接把$DbUSER换成tns串或者别名即可。

#sqlplus连接数据库的方法
#需要传入两个参数,第一个是表名,一个是需要执行的sql语句,一条语句作为一行
sqlBossDb(){
TableName=$1
SqlStr=$2
getDbUserByTableName$TableName
DbUSER=`catdbuser.temp`
Note_Log"$DbUSER连接数据库,执行语句$SqlStr"
evalecho${$DbUSER}>aaa.temp#查询出来是sqlDbUser.cfg中DBUSERNAME项,需要换成DBUSERSTR项
DbUSER=`cataaa.temp`
#Note_Log"开始$DbUSER"
sqlplus$DbUSER<<!
setlinesize1000
$SqlStr
commit;
quit
!
e

D. SHELL脚本如何处理sql执行结果

pid id
1 2
1 3
1 4
1 5
2 3
2 4
3 5


存放在6.txt中,可以用工具将数据转换为SQL,然后拷贝到执行SQL的工具中执行

cat6.txt|awk'NR>1{printf("insertintotable_name(pid,id)values("%s","%s");
",$1,$2);}'


输出:

insert into table_name (pid,id) values ("1","2") ;
insert into table_name (pid,id) values ("1","3") ;
insert into table_name (pid,id) values ("1","4") ;
insert into table_name (pid,id) values ("1","5") ;
insert into table_name (pid,id) values ("2","3") ;
insert into table_name (pid,id) values ("2","4") ;
insert into table_name (pid,id) values ("3","5") ;


如果需要插入在一个事务中完成,可以视数据库类型自己在SQL前后增加

begin

commit

这类语句。

E. 如何在shell脚本中,判断一个基本命令执行是否成功

命令执行是否成功主要由 命令自己确定,如果它出错 它会返回一个非0的退出状态
这个退出状态通过 $? 内置变量获取
在shell脚本的编写过程中 逻辑运算 ( && ||)就是由退出状态决定
0 表示 true(正常) 非零表示false(异常),异常退出值可以有很多不同的值,这些值就表示了错误类型。
function exit_status(){
( exit $1 )

}
这个函数会根据参数返回错误状态
exit_status 123
echo $? #输出退出状态 123
另外解释以下 c语言和 shell 脚本的关系。

标准 c/c++语言 main函数
int main(int argc,char **argv){

}
main的返回值就是这个程序的命令行退出状态。

F. 如何在shell脚本中,判断一个基本命令执行是否成功

1.连接到相应的Linux主机,进入Linux命令行状态,等待shell命令的输入。

G. shell脚本执行sql传出结果

shell脚本执行sql需要输出结果,可以在shell脚本中写入语句,执行完成sql语句后,结果定向输入到一个txt文本文件中,再把txt文本文件存放在固定的文件夹中即可。

H. 如何在shell脚本中,判断一个基本命令执行是否成功

用特殊变量:$?

判断前一个命令的执行是否成功(或者说是返回码)

执行成功变量的值是0,不是零表示没有执行成功

例如:

注意:一定要在命令执行后立即判断,否则后面的代码会冲掉$?变量的值。

I. 在shell脚本中使用 isql 执行SQL语句 查询sybase数据库中满足条件的记录条数,怎么把查询结果赋给变量

注意此处:
isql -U natuser -P zjtt@nat -S natdb <<END
如下供参考
·1 若要重定向到文件
isql -U natuser -P zjtt@nat -S natdb <<END >out.txt
即将查询结果重定向到out.txt文件中

·2若要输出至变量
isql -U natuser -P zjtt@nat -S natdb <<END |read xarg

·3若要循环输出至变量,可参照read方式类推

J. shell脚本怎么获取sql select count(*)语句的结果

单引号换成双引号:
echo “select count(*) from ${tablename};” | sqlplus $ACCOUNT/$PASSWORD@$ORACLE_LOGIP:1521/$SID > ${TMPFILE}