Sending one email for every row as per sql result


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sending one email for every row as per sql result
# 1  
Old 06-25-2009
Sending one email for every row as per sql result

I want to send email for every row comes out of following SQL statement
thank you for your help.

*****SQL STATEMENT******
Select SCUSER AS "USER IDS" , SCEUSER AS "LOCKED OUT" FROM SYS.7333.F98OWSEC;

*******OUPUT COMES LIKE THIS AND ONE EMAIL COMES AS PER SCRIPT BELOW******

******BUT MY REQUIREMENT IS A SEPRATE EMAIL FOR EVERY LOCKED ID/ROW****

Jun 25 2009 06:00:02
"Following System User Ids Locked Out"
User Id
----------
LJOHNSTON
CTONOLETE
MEDWARDS
MLOVELESS
SALTOSJ

****EMAIL SCRIPT*********
#!/bin/sh
. /home/oracle/.cron_profile
#
export LOGDIR=/home/oracle/log
cd /home/oracle
#
sqlplus /nolog @/home/oracle/Daily_lockedout.sql
#
cat $LOGDIR/Daily_lockedout.log >>$LOGDIR/Daily_lockedout.all.log

uuencode /home/oracle/log/Daily_lockedout.log Daily_lockedout.log |mail -s "Daily_lockedout.log" jxx@TGT.com;
# 2  
Old 06-25-2009
Quote:
Originally Posted by s1a2m3
...
******BUT MY REQUIREMENT IS A SEPRATE EMAIL FOR EVERY LOCKED ID/ROW****
And what are those emails ? E.g. what is the email corresponding to the first id "LJOHNSTON" ? And that corresponding to "CTONOLETE" ? etc.

Code:
...
LJOHNSTON
CTONOLETE
MEDWARDS
MLOVELESS
SALTOSJ
...

Do you want to send the entire log file which contains this -

Code:
$
$ cat locked.log
LJOHNSTON
CTONOLETE
MEDWARDS
MLOVELESS
SALTOSJ
$

to the following list ?

Code:
LJOHNSTON,CTONOLETE,MEDWARDS,MLOVELESS,SALTOSJ

If yes, then you can aggregate the file content into a comma-delimited string like this -

Code:
$
$ addr_list=$(awk '{x=x$0","}END{sub(/,$/, "", x); print x}' locked.log)
$
$ echo $addr_list
LJOHNSTON,CTONOLETE,MEDWARDS,MLOVELESS,SALTOSJ
$

And then use the "addr_list" variable in your mail command.

HTH,
tyler_durden
# 3  
Old 06-25-2009
Modify the sql to generate the mailx commands in the spool file and then execute the commands in the shell script:

Modified SQL Code:

Code:
SELECT    'mailx -s " Locked out Info: user id -  '
       || scuser
       || ' user name - '
       || sceuser
       || '" jxx@TGT.com </dev/null'
  FROM SYS.7333.F98OWSEC;

Modified Script (Not Tested):
Code:
****EMAIL SCRIPT*********
#!/bin/sh
. /home/oracle/.cron_profile
#
export LOGDIR=/home/oracle/log
cd /home/oracle
#
sqlplus /nolog @/home/oracle/Daily_lockedout.sql
#
cat $LOGDIR/Daily_lockedout.log >>$LOGDIR/Daily_lockedout.all.log

while read myLine
do 
   eval ${myLine}
done<$LOGDIR/Daily_lockedout.log

You can customize the mail subject line in the sql as per you requirement... Hope this helps...

regards,
Arun.

Last edited by arunsoman80; 06-25-2009 at 03:08 PM..
# 4  
Old 06-25-2009
****And what are those emails ? E.g. what is the email corresponding to the first id "LJOHNSTON" ? And that corresponding to "CTONOLETE" ? etc.***

I want seprate email for every locked out account to be send to help desk for work order creation. Unfortunatlet they require sperate email per user instead of one combile list. So seprate email for LHOHNSON id to help@xyz.com & one email from system for CTONOLETE locked id to help@xyz.com. So task is to send daily individual email for ever locked out user to help desk/

any thoughts?

Thanks



Quote:
Originally Posted by durden_tyler
And what are those emails ? E.g. what is the email corresponding to the first id "LJOHNSTON" ? And that corresponding to "CTONOLETE" ? etc.

Code:
...
LJOHNSTON
CTONOLETE
MEDWARDS
MLOVELESS
SALTOSJ
...

Do you want to send the entire log file which contains this -

Code:
$
$ cat locked.log
LJOHNSTON
CTONOLETE
MEDWARDS
MLOVELESS
SALTOSJ
$

to the following list ?

Code:
LJOHNSTON,CTONOLETE,MEDWARDS,MLOVELESS,SALTOSJ

If yes, then you can aggregate the file content into a comma-delimited string like this -

Code:
$
$ addr_list=$(awk '{x=x$0","}END{sub(/,$/, "", x); print x}' locked.log)
$
$ echo $addr_list
LJOHNSTON,CTONOLETE,MEDWARDS,MLOVELESS,SALTOSJ
$

And then use the "addr_list" variable in your mail command.

HTH,
tyler_durden
# 5  
Old 06-25-2009
That's exactly what the code that I suggested in my previous post does... Did you try that?

regards,
Arun.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sending sql output to email body with conditional subject line

hi , i have written below piece of code to meet the requirement but i am stuck in the logic here. the requirement are: 1) to send the sql out put to email body with proper formatting. 2) if count_matching = Yes then mail should triggered with the subject line ... (10 Replies)
Discussion started by: itzkashi
10 Replies

2. Shell Programming and Scripting

Get SQL query result to file in putty

How to Get SQL query result to file in putty? I have one SQL query and I want that query output to be redirected to the file. uname -a SunOS XXX 5.8 Generic_117350-58 sun4u sparc SUNW,Sun-Fire-480R Please suggest. (7 Replies)
Discussion started by: pamu
7 Replies

3. Shell Programming and Scripting

Using top command to email if process is exceeding 25% and sending an email alert if so

This is my first time writing a script and Im having some trouble, Im trying to use the top command to monitor processes and the amount of CPU usage they require, my aim is to get an email if a process takes over a certain percentage of CPU usage I tried grep Obviosly that hasnt worked, Any... (8 Replies)
Discussion started by: jay02
8 Replies

4. UNIX for Dummies Questions & Answers

Assign SQL result in shell variable

Hi im trying to assign the result of the db2 command to a variable inside a shell script... : tab_cnt=`db2 "select count(*) from syscat.tables where tabname = 'ABC' and tabschema = 'MATT01'" |head -4|tail +4|cut -c 11` : echo $tab_cnt when i echo im getting a blank value.. im expecting... (1 Reply)
Discussion started by: matt01
1 Replies

5. Shell Programming and Scripting

How to format sql result as amount - ksh

I am currently returning an sql result with a number value that I want to format as an amount. The sql runs smoothly on its own, but when run inside my ksh script an error is encountered: ERROR at line 3: ORA-01481: invalid number format model My sql is -- select distinct ... (6 Replies)
Discussion started by: avillanueva
6 Replies

6. Programming

Send email for each row in a result set

I have SQL giving me output of disabled ids in the system every day. I can send on email for this disabled user list. But I want to send one email for every disabled user or for every row. thank you for your help. Kyle (2 Replies)
Discussion started by: s1a2m3
2 Replies

7. Shell Programming and Scripting

Sending/append result from CSH script to xls file

Hi, 1st post... Done a quick search for this so apologies if I've missed it. Basically I want to output and and append several values generated by a csh script direct to an xls openoffice file, rather than send to txt file and then physically copy and paste to xls file. Already I send... (4 Replies)
Discussion started by: scottyjock
4 Replies

8. UNIX for Dummies Questions & Answers

Grabbing result of sql command

Hi guys, Is there a way a script can run an SQL statement and dump the results into a variable which can then be used later in the script? Thanks. (3 Replies)
Discussion started by: hern14
3 Replies

9. Shell Programming and Scripting

formatting the sql select result

Hi, I have about 12 columns and 15 rows to be retrived from sybase isql command through unix. But when i output the sql into a file and see it, the formatting is going for a toss. can someone please suggest how can i get the result correctly in the output file ? Thanks, Sateesh (2 Replies)
Discussion started by: kotasateesh
2 Replies

10. Shell Programming and Scripting

how to retrieve sql result to unix....

Hi, i would like to retrieve seql result and write it into unix text file like "result.txt" In unix, normally, I type "sql" and get into sql,then type "select....." to run and get the result....then copy and paste into result.txt any possible way to write a script to run it automatically?... (3 Replies)
Discussion started by: happyv
3 Replies
Login or Register to Ask a Question