Sponsored Content
Top Forums Shell Programming and Scripting Storing the SQL results in array variables Post 302843984 by Niranjancse on Friday 16th of August 2013 03:51:52 AM
Old 08-16-2013
Code

Code:
#!/bin/ksh
#*****************ORACLE CALL FUNCTION****************
function run_oracle {
sqlplus -s <<%%
${user}/${passwd}
set serveroutput off
set heading off
set feedback off
set verify off
set define off
set linesize 2000
${cmd};
exit
%%
}
#***********ORACLE CALL FUNCTION ENDS*************
 
#**********PROCESS TO RUN MULTIPLE QUERIES IN PARALLEL USING "&" IN ORACLE FUNCTION*****************
set -A result ### Declaring the Array
set -A Query ### Declaring the Array
i=0
echo "Dear all, Checks are :- ">${mailfile}
echo "" >> ${mailfile}
start_date=`date +'%H:%M:%S'`
while IFS=\| read chk_nbr chk_name chk_query ## Reading queries and check from parameter file ${chk_file} #######
do
echo ${chk_nbr}
cmd="${chk_query}"
Query[${i}]=${chk_name}
echo ${chk_query}
if [ ${chk_nbr} == "Y" ]; then
result[${i}]=`run_oracle | grep -v '^$' | tail -1` &
process[${i}]=`echo $! | head -1`
echo ${process[${i}]}
let i=i+1
fi
done < ${chk_file}
#***********************PROCESS TO RUN MULTIPLE QUERIES IN PARALLEL USING "&" IN ORACLE FUNCTION ENDS*****************
 
echo `echo ${result[0]}|sed 's/[ ]*//g'` 
 
cnt=`expr $i - 1`
n=0
while [ $n -le $cnt ]
do
p=${process[$n]} #### FETCHES ALL THE PROCESS IDS WHICH ARE TRIGGERED IN ORACLE BY ABOVE PROCESS #########
 
c=`ps -A | grep ${p} | tr ' ' '|' | awk -F'|' -v var=${p} '$1==var'|wc -l` #### CHECKS PROCESS IDS ARE LIVE WHICH ARE TRIGGERED ######
if [ $c -eq 0 ]; then 
echo " ${result[${n}]} : ${Query[$n]}"
let n=n+1
fi
done
n=`expr $n - 1`
if [ $n -eq $cnt ]; then
echo "completed successfully!!"
return 0
else
echo "failed.Please run again!"
return 1
fi

---------- Post updated at 01:21 PM ---------- Previous update was at 01:07 PM ----------

Code:
cat ${chk_file}
 

Y|Duplicate in Table1 |select count(count(*)) from TABLE1  group by COL1,COL2 having count(*)>1

Y|Duplicate in Table2 |select count(count(*)) from TABLE2 group by  COL1,COL2 having count(*)>1


This parameter file will be used by above script to trigger this queries. While i am executing the query output is not being assigned to Array variables. Please help me with this..

Last edited by Franklin52; 08-16-2013 at 04:58 AM.. Reason: Please use code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem while storing sql query value in a variable

Hi, When i execute the below statement , the value is not getting stored in the variable. AnneeExercice=`sqlplus $LOGSQL/$PASSWORDSQL << FIN >> $GEMOLOG/gemo_reprev_reel_data_ventil_$filiale.trc SELECT bi09exercice FROM bi09_scenario WHERE bi09idfiliale=UPPER('de') AND ... (1 Reply)
Discussion started by: krishna_gnv
1 Replies

2. Shell Programming and Scripting

storing variables in array.Please help

Hi All, I need some help with arrays. I need to take input from the user for hostname, username and password until he enters .(dot) or any other character and store the values in the variable array. I would further connect to the hostname using username and passwd and copy files from server to... (7 Replies)
Discussion started by: nua7
7 Replies

3. Shell Programming and Scripting

Storing commands in $variables.

Hi I'm trying to store commands in variables... like so.. # lastcmd=" $t1 | $t2 | $t3 | $t4 | sort | uniq" t1="sed -e 's/http:/<li><a href=\"http:/'" t2="sed -e 's/http:.*/&\">&<\/a>Web Link<br>/'" t3="sed -e 's/.*. mailto:/<li><a href=\"mailto:/'" t4="sed -e... (7 Replies)
Discussion started by: Paulw0t
7 Replies

4. Shell Programming and Scripting

perl: storing regex in array variables trouble

hi this is an example of code: use strict; use warnings; open FILE, "/tmp/result_2"; my $regex="\\ Starting program ver. (.*)"; my $res="Program started, version <$1> - OK.\n"; while (<FILE>) { if ($_ =~ /($regex)/) { print "$res"; } } close FILE; This finds $regex and print... (3 Replies)
Discussion started by: xist
3 Replies

5. UNIX for Dummies Questions & Answers

Storing variables and using them..

Hello Apologies for not having the most accurate of thread titles.. I'm using IBM Rational Synergy CM software. I use the Synergy commands in tandem with Unix commands. I have a directory containing source code objects: bash-3.00$ ccm ls *.fmb *.rdf *.pll *.mmb cre_applications.fmb-1... (1 Reply)
Discussion started by: Glyn_Mo
1 Replies

6. Shell Programming and Scripting

Storing outputs into variables

I need to know how to store output from one command so that it can initiate another command. chktraf -s | cut -c1-4 output would look like 321 142 256 342 123 Then if the value of the output = 0, then initiate next command. if then for xx in 01 02 03 04 05 06 07 08 09 10 do ... (4 Replies)
Discussion started by: Shaun74
4 Replies

7. Shell Programming and Scripting

SQL/Plus in a coprocess example. Also saves query results into shell variables

While assisting a forum member, I recommended running SQL/Plus in a coprocess (to make database connections and run a test script) for the duration of his script rather than starting/stopping it once for every row in a file he was processing. I recalled I made a coprocess example for folks at... (2 Replies)
Discussion started by: gary_w
2 Replies

8. Shell Programming and Scripting

How to store results of multiple sql queries in shell variables in ksh?

Hi, I have a script where I make a sqlplus connection. In the script I have multiple sql queries within that sqlplus connection. I want the result of the queries to be stored in shell variables declared earlier. I dont want to use procedures. Is there anyway else. Thanks in advance.. Cheers (6 Replies)
Discussion started by: gonchusirsa
6 Replies

9. Shell Programming and Scripting

How to Assign SQL Query Results to Variables in Linux?

Hi, I am new to linux... How to Assign SQL Query Results to Variables in Linux,i want ti generate it in param files, Can anyone please explain me. Ex: SQL> Select * from EMP; O/P: Emp_No Emp_Name 1 AAA 2 BBB 3 CCC and I want expected... (5 Replies)
Discussion started by: Sravana Kumar
5 Replies

10. Shell Programming and Scripting

Storing multiple sql queries output into variable by running sql command only once

Hi All, I want to run multiple sql queries and store the data in variable but i want to use sql command only once. Is there a way without running sql command twice and storing.Please advise. Eg : Select 'Query 1 output' from dual; Select 'Query 2 output' from dual; I want to... (3 Replies)
Discussion started by: Rokkesh
3 Replies
SQLSRV_PREPARE(3)														 SQLSRV_PREPARE(3)

sqlsrv_prepare - Prepares a query for execution

SYNOPSIS
mixed sqlsrv_prepare (resource $conn, string $sql, [array $params], [array $options]) DESCRIPTION
Prepares a query for execution. This function is ideal for preparing a query that will be executed multiple times with different parameter values. PARAMETERS
o $conn - A connection resource returned by sqlsrv_connect(3). o $sql - The string that defines the query to be prepared and executed. o $params - An array specifying parameter information when executing a parameterized query. Array elements can be any of the following: oA literal value oA PHP variable oAn array with this structure: array($value [, $direction [, $phpType [, $sqlType]]]) The following table describes the elements in the array structure above: Array structure +----------------------+---------------------------------------------------+ | Element | | | | | | | Description | | | | +----------------------+---------------------------------------------------+ | $value | | | | | | | A literal value, a PHP variable, or a PHP by-ref- | | | erence variable. | | | | |$direction (optional) | | | | | | | One of the following SQLSRV constants used to | | | indicate the parameter direction: SQL- | | | SRV_PARAM_IN, SQLSRV_PARAM_OUT, SQL- | | | SRV_PARAM_INOUT. The default value is SQL- | | | SRV_PARAM_IN. | | | | | $phpType (optional) | | | | | | | A SQLSRV_PHPTYPE_* constant that specifies PHP | | | data type of the returned value. | | | | | $sqlType (optional) | | | | | | | A SQLSRV_SQLTYPE_* constant that specifies the | | | SQL Server data type of the input value. | | | | +----------------------+---------------------------------------------------+ o $options - An array specifing query property options. The supported keys are described in the following table: Query Options +-----------------------+--------------------------------------+---+ | Key | | | | | | | | | Values | | | | | | | | Description | | | | | | +-----------------------+--------------------------------------+---+ | QueryTimeout | | | | | | | | | A positive integer value. | | | | | | | | Sets the query timeout in seconds. | | | | By default, the driver will wait | | | | indefinitely for results. | | | | | | |SendStreamParamsAtExec | | | | | | | | | | | | | TRUE or FALSE (the default is TRUE) | | | | | | | | Configures the driver to send all | | | | stream data at execution ( TRUE), or | | | | to send stream data in chunks ( | | | | FALSE). By default, the value is set | | | | to TRUE. For more information, see | | | | sqlsrv_send_stream_data(3). | | | | | | | Scrollable | | | | | | | | | SQLSRV_CURSOR_FORWARD, SQLSRV_CUR- | | | | SOR_STATIC, SQLSRV_CURSOR_DYNAMIC, | | | | or SQLSRV_CURSOR_KEYSET | | | | | | | | See Specifying a Cursor Type and | | | | Selecting Rows in the Microsoft SQL- | | | | SRV documentation. | | | | | | +-----------------------+--------------------------------------+---+ RETURN VALUES
Returns a statement resource on success and FALSE if an error occurred. EXAMPLES
Example #1 sqlsrv_prepare(3) example This example demonstrates how to prepare a statement with sqlsrv_prepare(3) and re-execute it multiple times (with different param- eter values) using sqlsrv_execute(3). <?php $serverName = "serverNamesqlexpress"; $connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn === false) { die( print_r( sqlsrv_errors(), true)); } $sql = "UPDATE Table_1 SET OrderQty = ? WHERE SalesOrderID = ?"; // Initialize parameters and prepare the statement. // Variables $qty and $id are bound to the statement, $stmt. $qty = 0; $id = 0; $stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id)); if( !$stmt ) { die( print_r( sqlsrv_errors(), true)); } // Set up the SalesOrderDetailID and OrderQty information. // This array maps the order ID to order quantity in key=>value pairs. $orders = array( 1=>10, 2=>20, 3=>30); // Execute the statement for each order. foreach( $orders as $id => $qty) { // Because $id and $qty are bound to $stmt1, their updated // values are used with each execution of the statement. if( sqlsrv_execute( $stmt ) === false ) { die( print_r( sqlsrv_errors(), true)); } } ?> NOTES
When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query(3). SEE ALSO
sqlsrv_execute(3), sqlsrv_query(3). PHP Documentation Group SQLSRV_PREPARE(3)
All times are GMT -4. The time now is 02:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy