Sign in or 

| typeset -ix PAC_CNT=`sqlplus -s / <<-EOF SET heading off SET feedback off SET NUMFORMAT 99999999 WHENEVER SQLERROR EXIT SQL.SQLCODE WHENEVER OSERROR EXIT SQL.OSCODE SELECT count(0) FROM all_objects ao WHERE ao.owner = 'MY_OWNER' AND ao.object_name = 'MY_PACKAGE' AND ao.object_type = 'PACKAGE'; EOF` |
| #!/bin/ksh ###### # # Function get_idx returns a value from Oracle to UNIX. # By using the PRINT command within SQL*Plus and calling this # function from within an 'export' call in UNIX, the value printed # in SQL*Plus is captured in a UNIX environment variable. # # WATCH THE SPACING AND THE PLACEMENT OF THE SQL END OF FIELD # MARKER. FOR SOME REASON, IN THE FUNCTION DEFINITION, THIS # MAKES A DIFFERENCE. # ##### function get_idx { sqlplus -s / > ${SQL_LOG_FILE} <<-SQLEOF SET FEEDBACK OFF SET HEAD OFF SET VERIFY OFF WHENEVER SQLERROR EXIT sql.SQLCODE WHENEVER OSERROR EXIT OSCODE SET SERVEROUTPUT ON SIZE unlimited VARIABLE RETVAL NUMBER BEGIN SELECT 150 -- Hardcoded 150 here, but could be any value or sequence INTO :RETVAL FROM DUAL ; END ; / print :RETVAL exit SQLEOF } # Call the function during an export call to a variable, which sets # the UNIX variable to the value from SQL*PLus export DJVAL=$(get_idx) # Look at what we got echo '......The env var set in SQL*Plus is: '${DJVAL} |
pvzweden |
Latest page update: made by pvzweden
, Jun 27 2008, 2:35 AM EDT
(about this update
About This Update
Edited by pvzweden
view changes - complete history) |
|
Keyword tags:
korn shell script
More Info: links to this page
|