Print statement in shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Print statement in shell script
# 1  
Old 06-15-2015
Print statement in shell script

Hi All, when I executed the query in normal unix mode, the output is
expected. if I executed the query using shell script, I am not getting the result. not sure whether I need to use dbms_output.put_line or echo.

Code:
dbms_output.put_line("COUNTRY_CODE"||"        "||"SUB_TYPE"||"        "||"DAEMON_TYPE"||"        "||"SUB_COUNT");

Code:
    echo "COUNTRY_CODE"||"        "||"SUB_TYPE"||"        "||"DAEMON_TYPE"||"        "||"SUB_COUNT";

# 2  
Old 06-15-2015
Without more context nobody can possibly give you good help. The only thing I see is echo does not need the same concatenation operator || that oracle uses. Simply:

Code:
$ echo "a b c d"
a b c d

# 3  
Old 06-16-2015
I am executing a sql query from cursor through a shell script. but I am not receiving the output. when I manually triggered the query. I am receiving the output as expected.

---------- Post updated at 03:42 AM ---------- Previous update was at 02:08 AM ----------

when I executed the query through manually connecting in databse it work as below.

Code:
SQL> select /*ordered*/ distinct b.country_abbrev as country_code,DECODE(a.auto,                                                                                        'Y','DAEMON','L','LAUNCH') as sub_type,
  2          DECODE(in_use_userid,'NONE','NOT PICKED','ES','MF DAEMON','UNIX'                                                                                        ,'UNIX') AS DAEMON_TYPE,count(a.sub_idx) as sub_count
  3          FROM
  4          subiv_log a,
  5          country b
  6                  where a.sub_status_idx in (1,22,401,9)
  7                  and a.locked = 'Y'
  8                  and a.queue_flag = 'Y'
  9                  and a.auto in ('Y','L')
 10                  and a.country_idx = b.country_idx
 11          GROUP BY B.country_abbrev,A.AUTO,DECODE(in_use_userid,'NONE','NOT P                                                                                        ICKED','ES','MF DAEMON','UNIX','UNIX')
 12          ORDER BY sub_count DESC,b.country_abbrev desc ;
COUNTRY_CO SUB_TY DAEMON_TYP  SUB_COUNT
---------- ------ ---------- ----------
UK         DAEMON UNIX                7

But output is not displayed If I am running through the shell script.

The below query is executed through shell script and not getting output expected not sure whether my syntax is correct.
Code:
 
 cursor sub_cur is
        select /*ordered*/ distinct b.country_abbrev as country_code,DECODE(a.auto,'Y','DAEMON','L','LAUNCH') as sub_type,
        DECODE(in_use_userid,'NONE','NOT PICKED','ES','MF DAEMON','UNIX','UNIX') AS DAEMON_TYPE,count(a.sub_idx) as sub_count
        FROM
        subiv_log a,
        country b
                where a.sub_status_idx in (1,22,401,9)
                and a.locked = 'Y'
                and a.queue_flag = 'Y'
                and a.auto in ('Y','L')
                and a.country_idx = b.country_idx
        GROUP BY B.country_abbrev,A.AUTO,DECODE(in_use_userid,'NONE','NOT PICKED','ES','MF DAEMON','UNIX','UNIX')
        ORDER BY sub_count DESC,b.country_abbrev desc ;
 BEGIN
        dbms_output.put_line('COUNTRY_CODE'||'        '||'SUB_TYPE'||'        '||'DAEMON_TYPE'||'        '||'SUB_COUNT');

# 4  
Old 06-16-2015
You have to set ORACLE system variable SERVEROUTPUT that controls whether to display the output (that is, DBMS_OUTPUT PUT_LINE) of stored procedures or PL/SQL blocks in SQL*Plus.

Here is an example:-
Code:
 
#!/bin/ksh

${ORACLE_HOME}/bin/sqlplus -s ${DB_CONNECTION_STRING} << EOF
SET SERVEROUTPUT ON FEEDBACK OFF;
DECLARE
        dt   DATE;
        CURSOR dt_cur is select sysdate from dual;
BEGIN
        FOR dt IN dt_cur
        LOOP
                DBMS_OUTPUT.put_line ( dt.sysdate );
        END LOOP;
END;
/
exit
EOF
  
exit 0

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

If statement in a shell script

Please see part of a shell script below. #Move folder to HOT folder echo " moving $PRE_OCR_DIR/$BATCHNAME to $HOT_FOLDER_DIR\n" #chmod -R 777 $PRE_OCR_DIR/$BATCHNAME mv $PRE_OCR_DIR/$BATCHNAME $HOT_FOLDER_DIR I wish to write an if statement around the move that if that if $BATCHNAME... (3 Replies)
Discussion started by: worky
3 Replies

2. Shell Programming and Scripting

Case statement in UNIX shell script

have written the below code to check whether the string received from user is a file name or dir using case statement, but its going into default case*). #!/bin/sh #Get a string from user and check whether its a existing filename or not rm str2 rm str3 echo "enter a file \c" read fil... (8 Replies)
Discussion started by: Mohan0509
8 Replies

3. Shell Programming and Scripting

Help with if statement syntax in shell script

I want to make the file test condition a variable ($Prmshn in code below). My goal is to use something like the first three unsuccessful if statetments since the 'if #!/bin/ksh test_input() { Prmshn=${1} InFLNm=${2} ifReq="-$Prmshn $InFLNm" #the following three if statments fail: #if ] ;... (10 Replies)
Discussion started by: ms63707
10 Replies

4. Shell Programming and Scripting

If then Else statement in shell script

Hi, I am having a shell Script which i need to modify. I am new to shell scripting , needs help. The Logic which needs to be incorporated is as follows :- The script need to check the length of first Line in a data fine and of the length of the file is > 130 then validated the input... (2 Replies)
Discussion started by: mvichare
2 Replies

5. Shell Programming and Scripting

An issue with condition statement in shell script

Hello forum members. please go through the below mentioned issue and let me know the right solution. I have to write a script which runs another script .the executable script take input parmeters.so iam writing the the script below . Sample Code:Begins #! /bin/ksh echo " enter... (2 Replies)
Discussion started by: rajkumar_g
2 Replies

6. Shell Programming and Scripting

Help with IF statement with loop Shell Script

Hello I am very new to shell and I bought some books and trying to learn it. I started trying to write a script that will take a number and count it down to 1 with commas in between. This number can only be one argument. If lower than one or higher than one argument it sends an error message. ... (4 Replies)
Discussion started by: zero3ree
4 Replies

7. Shell Programming and Scripting

using SELECT sql statement in shell script

Hi there I have a database on a remote box and i have been using shell script to insert data into it for example, i could have a script that did this SN=123456 n=server1 m=x4140 sql="UPDATE main SET hostname='$n',model='$m' WHERE serial='$SN';" echo $sql |/usr/sfw/bin/mysql -h... (4 Replies)
Discussion started by: hcclnoodles
4 Replies

8. Shell Programming and Scripting

shell script case statement

In a case statement like below : case $rental in "car") echo "For $rental Rs.20 per k/m";; "van") echo "For $rental Rs.10 per k/m";; "jeep") echo "For $rental Rs.5 per k/m";; "bicycle") echo "For $rental 20 paisa per k/m";; *) echo "Sorry, I can not gat a $rental for you";;... (4 Replies)
Discussion started by: sriram003
4 Replies

9. Shell Programming and Scripting

Shell script not processing if statement properly

Hi I am trying to create a shell script that will look for a contracthead file first and if the contract head file does not exist on day1 exit script. Now on day2 if contracthead exists or not run the script uploading files in order such as contract line then contract contact so the... (2 Replies)
Discussion started by: jonathan184
2 Replies

10. Shell Programming and Scripting

Shell script automation using case statement

Hi, I'm trying to write a shell script that has a menu and then dependant on the selection, will automate some samba file transfer. The problem is when I run the code without the case statement it runs fine. but when I put the case statement in the only way I can get the code to run is to... (6 Replies)
Discussion started by: ianf
6 Replies
Login or Register to Ask a Question