Passing Hash variable in to sql query in perl


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Passing Hash variable in to sql query in perl
# 1  
Old 07-26-2010
Passing Hash variable in to sql query in perl

Hi Everyone,

Can anyone help me how do i call hash variable in to sql query in perl. Please see the script below

i have defined two Hash %lc and %tab as below

Code:
$lc{'REFF'}='V_RES_CLASS';
$lc{'CALE'}='V_CAP_CLASS';
$lc{'XRPD'}='V_XFMR_CLASS';
$tab{'V_RES_CLASS'}='V_MFR_SERS';
$tab{'V_CAP_CLASS'}='V_MFR_SERS';
$tab{'V_XFMR_CLASS'}='V_TFM_MFR_SERIES';

in the query i should use these two hash table varible
my table name is V_CAP_CLASS and attribute is v_MFR_SERIES.

Code:
$tbl=$lc{'CALE'};
$att=$tab{$lc{'CALE'}};

query is as below

Code:
$sth=$dbh->prepare("select prt.v_prt_nbr, cgy.$att from _prt_class prt,  $tbl cgy where prt.obj_id=cgy.obj_id");

this query is not executing throwing below error

Code:
DBD::Oracle::db prepare failed: ORA-01747: invalid user.table.column, table.column

Can anyone pls help me.... Appreciate your help.

Thanks

Last edited by pludi; 07-26-2010 at 06:18 AM.. Reason: code tags, please...
# 2  
Old 07-26-2010
Try,

Code:
$sth=$dbh->prepare("select prt.v_prt_nbr, ? from _prt_class prt,  ? cgy where prt.obj_id=cgy.obj_id");
$sth->execute("cgy.$att", $tbl);

# 3  
Old 07-26-2010
sorry agn,

still throwing below error

BD::Oracle::db prepare failed: ORA-00903: invalid table name (DBD ERROR: OCIStmtExecute/Describe)
# 4  
Old 07-26-2010
Are you sure this query is correct ?

Code:
$sth=$dbh->prepare("select prt.v_prt_nbr, cgy.$att from _prt_class prt,  $tbl cgy where prt.obj_id=cgy.obj_id");

# 5  
Old 07-26-2010
Hi,

Yes. Query is very much correct.

could anyone pls provide the resolution at the earliest........
# 6  
Old 07-29-2010
can any expert help me on this.
# 7  
Old 07-29-2010
Try,

Code:
$qry="select prt.v_prt_nbr, cgy.$att from _prt_class prt,  $tbl cgy where prt.obj_id=cgy.obj_id";
$sth=$dbh->prepare($qry);

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem in passing IFS array to SQL Query

Hi, I have created a shell script that reads line from text file and insert into DB table. I have used IFS to separate the line text. Looks IFS is splitting text properly but while passing one of the values that has special characters in it to query, it is giving weird issue. Below is my... (2 Replies)
Discussion started by: yuvi
2 Replies

2. Shell Programming and Scripting

Passing value of variable to a query within shell script

I have a script in which i connect to database to run a query and get the result of the query to a temp file. This works fine , now what i want is there is flat file which contains the value to be used in the query. I want to read this file line by line and then run the query for each value in that... (7 Replies)
Discussion started by: gpk_newbie
7 Replies

3. Shell Programming and Scripting

Passing variable to sql

How to pass variable to sql file. Im tryin in two ways, Method 1: my.sql select * from table where col1 = '$1' and col2 = 'text'; Method 1execute: dbaccess database my.sql $var Method2: select * from table col1 in (`cat inputfile`) and col2 = 'text'; method... (2 Replies)
Discussion started by: Roozo
2 Replies

4. Shell Programming and Scripting

perl - passing hash references to functions

hi there I have the following script in which i have created a PrintHash() function. I want to pass to this function the reference to a hash (in the final code i will be passing different hashes to this print function hence the need for a function). I am getting an error Type of arg 1 to... (1 Reply)
Discussion started by: hcclnoodles
1 Replies

5. Shell Programming and Scripting

Passing a variable from shell script to mysql query?

I heard this was possible but from my research I haven't been able to figure it out yet. Seems it should be simple enough. Basically from a high level view I'm trying to accomplish... . $X='grep foo blah.log' then 'mysql command SELECT foo FROM bar WHERE ' . $X or something like that. ... (2 Replies)
Discussion started by: kero
2 Replies

6. Shell Programming and Scripting

passing a hash to another script in perl

I have a script (say script1.sh ) and I am calling a script (say script2.sh) within the script1.sh. Here in script1.sh I have a hash ( say %hash1) and i have to pass this hash to script2.sh. Basically i have to do some processing in Scirpt2.sh based on the hash(key,values). I wanted to know how can... (2 Replies)
Discussion started by: ammu
2 Replies

7. Shell Programming and Scripting

Problem in Passing sql query for a script

Unix prompt ========= echo "Enter the query" read q ========== User has entered : SELECT * FROM employee ===================== Now the problem starts.. echo $q Output: SELECT "all files names in the PWD" FROM employee ================================================ ... (5 Replies)
Discussion started by: Niroj
5 Replies

8. Shell Programming and Scripting

script variable within a sql query

I created a script to read a csv file with four columns. The script also saved values of each col in a arry. In the script, i connected to db try to run a query to pull out data baisc on the values from the csv file. select Num from tableName where Sec_Num in ('${isin}') /*isin is an arry... (1 Reply)
Discussion started by: Sherry_Run
1 Replies

9. UNIX for Advanced & Expert Users

passing value to a variable in a SQL

Hi Folks, This is a small chunk of the bigger problem which i am facing and some help here will help me resolve the rest of the issue. Problem is that i need to pass the value of a variable from a shell script to a SQL query (infact a lot of SQL's) i have the following solution but somehow... (4 Replies)
Discussion started by: kamitsin
4 Replies

10. Shell Programming and Scripting

sql query variable not exactly unix

I know htis isnt exactly unix.... but hopefully someone can help me or direct me someplace to get help. I can run sql queries in scripts against my informix db using: dbaccess mydb myquery.sql >> sql.output I need to write my script to select based on todays date. Its very... (5 Replies)
Discussion started by: MizzGail
5 Replies
Login or Register to Ask a Question