When I just quote the variable, this is what the spool looks like. ~~~~~ select table_name,column_name,data_length,data_type from dba_tab_columns where table_name = '""' and owner = 'XXXXX';
no rows selected ~~~~~ perl also throws a warning that MAIN::$VIEWNAME & MAIN::$TABLENAME are only used once. I've tried countless ways, really starting to go bald at an early age from this. -----Original Message----- From: Jeff Westman [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 02, 2003 1:56 PM To: beginners Subject: Re: Sql statements in perl scripts Hi, --- Jensen Kenneth B SrA AFPC/DPDMPQ <[EMAIL PROTECTED]> wrote: > I can't install the DBI modules to talk to our database, so I am > trying to run some commands from a system call. I am trying to pass > some variables retrieved from command line arguments to the sql > statements. Here's my problem, I can't get the variables to expand for > use in the sql code > > #!perl -w > use strict; > use warnings; > > my ($TABLENAME, $VIEWNAME) = (shift,shift); > > system('sqlplus / << SQLEOF > set heading off > set linesize 120 > > spool viewdata.kj > select table_name,column_name,data_length,data_type from > dba_tab_columns where table_name = \'$VIEWNAME\' and owner = 'XXXX'; > > spool tabdata.kj > select table_name,column_name,data_length,data_type from > dba_tab_columns where table_name = \'$TABLENAME\' and owner = > 'XXXX'; SQLEOF > '); > __END__ > > The above will execute, but no rows will be selected because the > variables are treated as null. I tried declaring the variables > globally but still the same problem. I also tried to pass the > variables to the system call (system (), ($TABLENAME, $VIEWNAME);) But > couldn't get that to work either. $_[0] was read as "scriptname[0]".. > > I can insert a print statement inside the system call and print the > variables to STDOUT, but can't get sql to use them. Am I missing > something blatantly obvious? Any help very much appreciated. >From what I can see, yes...... use double-quotes, not single-quotes. Single quotes will not expand varables. See 'perldoc -q quote' -JW > Ken > > P.S. I only have modules distributed with perl 5.6.1, and I am not > allowed to install any new ones at the present time. __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://tax.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]