Sponsored Content
Top Forums Programming SQL not working in a for loop Post 302952612 by durden_tyler on Thursday 20th of August 2015 11:06:45 AM
Old 08-20-2015
I guess the spaces at the beginning of the lines were the problem(?)

In any case, a couple of observations:
- The clause "rownum < 1" is always false. Oracle's pseudo-column rownum has an integer value of 1 or higher. Looks like in your case the shell script does not throw any error, but the update statement doesn't update anything either.

- The backticks from "sqlplus" to the "EOF" are not necessary if do not want to assign the output of the sqlplus command to a shell variable.

- If your file: sv_tn.list has a large number of rows, then connecting to sqlplus and updating the database for each row may be too expensive and inefficient.
If you only want to update all rows with the "tn" values in the sv table, then you may want to go through the sv_tn.list file, collect all "tn" values into a comma-delimited list and then issue a single update like so:

Code:
update sv set old_ts=sysdate, status=7 where status=1 where tn in $tn_list

where tn_list has the form:
Code:
('123','456','789')

and can be created like so:

Code:
$
$ cat sv_tn.list
45879
8928712
9901
$
$ tn_list=`awk '{printf("%c%s%c,", 39,$0,39)}' sv_tn.list | sed -e 's/^\(.*\),$/\(\1\)/'`
$
$ echo $tn_list
('45879','8928712','9901')
$
$

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unix-Sql Loop error

Hi, I am getting the error "No matching <<", when i run the below. Is it that we can't execute SQL in a Unix loop. I am executing a SQL in a loop. Is it the EOF is written wrongly. . /opt/app/wlsconfigv61/domains/profiles/oracleV901.profile export DBUSER=ecdb01 set -A DBINSTANCE... (3 Replies)
Discussion started by: manu_byc
3 Replies

2. UNIX for Dummies Questions & Answers

Problem with while loop and SQL

Connected to oracle database sqlplus << EOF $CONNECTSTR set heading off set trimspool on set feedback off select ID,DATE from sysadm.TEST where VALUE = 'A' order by ID; value_id = ID value_date = DATE EOF 1. Is it possible to reference the values, ID,DATE in unix shell script. 2.... (20 Replies)
Discussion started by: nandajk
20 Replies

3. Shell Programming and Scripting

how to call shell script from pl/sql loop

Hello, I am doing a shell script which contain a pl/sql loop to search for 3 values, i would like to call another shell script inside this sql loop each time it find the values. so how can i call shell script from pl/sql using its variables, any idea? Here is idea about the code: my... (1 Reply)
Discussion started by: rosalinda
1 Replies

4. Shell Programming and Scripting

Sql in a linux loop

Hi i want to run a query in loop(unix loop) every 2 hours and spool the result to a file. i am trying but getting error here is the script $ while true do sqlplus ank/ank<<! spool ank.lst select * from v$database; exit sleep 7200 done :D (2 Replies)
Discussion started by: ankurk
2 Replies

5. Shell Programming and Scripting

Compiling n number of SQL files in loop

Trying to compile all SQL files using a shell script. But the below code is not working. Below Code works fine when for loop is not there(commenting line no: 1,2 and 9). 1. sq_lfile=`ls *.sql` 2. for current_sql_file in $sql_file 3. do 4. sqlplus uname/pass@Service>>SQLLOG << -ENDOFSQL... (3 Replies)
Discussion started by: Dip
3 Replies

6. Shell Programming and Scripting

SQL query in a loop with single sqlplus connection

Hi, I'm trying to build a shell script that reads a set of accounts from a file. For each account I need to perform a set of sql queries. So I have a loop with a set of sqlplus connections to retrieved my data. Is it possible to have a single sqlplus connection before entering the loop and... (4 Replies)
Discussion started by: lsantacana
4 Replies

7. Shell Programming and Scripting

UNIX/SQL loop to spool files!!

I want to spool files from unix using a sql script that would take values from another sql query within the KSH script.. unix loop select order_date from date_tbl for each order_Date i need to call this spool script with the value sqlplus scott/tiger@order_db @/ordspool/order_date.sql... (2 Replies)
Discussion started by: vr23
2 Replies

8. Shell Programming and Scripting

Script (with sql queries) not working using cron

Hi all, I have script, which performing sql queries and put output into file. When I run this script manually, its working fine, but when I want to schedule it with cron I am getting errors... I defined LD_LYBRARY_PATH and ,but no result. After I defined it, I am getting error: # more... (4 Replies)
Discussion started by: nypreH
4 Replies

9. Shell Programming and Scripting

Percona SQL Backup Shell Script not working

I am having one heck of a time, and I need anyone that can assist in finding my issue here.... First off, here is the script we are using: pastebin dot com slash njwUg6vd All usernames and passwords have been edited out. We are using an actual database user, and not root (tried both). I... (0 Replies)
Discussion started by: jonbeard
0 Replies

10. UNIX for Beginners Questions & Answers

UNIX variable not working in sql resultset

Hi, I am trying to extend unix variable value with mysql resultset. It's working fine in terminal but not working in shell script. #!/bin/bash export prcs_nm=$1 export tbl_nm=$2 export rslt=$( mysql -sN -u root -proot123 -e " select sql_query from retail_db.config where prcs_nm =... (3 Replies)
Discussion started by: Prasad
3 Replies
FIAIF-UPDATE(8) 				      Administration and Privileged Commands					   FIAIF-UPDATE(8)

NAME
fiaif-update - tests for new version and updated reserved_networks file. SYNOPSIS
fiaif-update [--silent] [--help] <update|check> DESCRIPTION
Tests for new version and updated reserved_networks file. --silent If this flag is present, then no textual output will be given. check Test if a new version of FIAIF is available. update Retrieves the files reserved_networks from the FIAIF website, and compared the version with the currently installed version, as pointed to by fiaif.conf. If the retrieved version is newer, the old version is silently replaced. help Prints the synopsis. EXIT CODE
If updating the exit code will be non-zero if no update was performed, else the exit code will be zero. FILES
/etc/fiaif/fiaif.conf The configuration file for FIAIF /etc/fiaif/private_networks A list of private networks as specified by RFC1918 /etc/fiaif/reserved_networks A list of reserved networks as specified by IANA. REPORTING BUGS
Report bugs to <fiaif@fiaif.net>. AUTHOR
Anders Fugmann <anders(at)fugmann.net> SEE ALSO
fiaif(8), fiaif.conf(5) Linux Feb 2003 FIAIF-UPDATE(8)
All times are GMT -4. The time now is 10:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy