Gunakan Parameter Stored Procedure OUT di Skrip Unix

Saya memiliki skrip ksh yang secara langsung Memilih hitungan dari database. Saya mengganti ini dengan panggilan dengan prosedur tersimpan. Prosedur Tersimpan Saya memilih ke dalam variabel OUT.

Bagaimana cara menangkap nilai OUT ke dalam file data saya seperti yang dinyatakan dalam skrip saya?

    bteq <<EOF
.RUN FILE $DBENV/1logon.txt
.export data file=$PMRootDir/$FOLDER_NME/SessLogs/pdbasis_count.txt
.set recordmode OFF;
.set sidetitles OFF;
.set titledashes off;

#This Select Statement is being replaced by the Stored Procedure Call
SELECT trim(COUNT(*))
FROM [Removed]
WHERE [Removed]

.IF ERRORCODE <> 0 THEN .QUIT 11;

.export reset;
.logoff;
.quit   

EOF


person staples    schedule 01.07.2015    source sumber


Jawaban (1)


Anda bisa mencoba yang ini. Lv_status akan memberi Anda parameter out.

            ##Procedure Execution starts

         procname=$your_user_name."your_proc_name"
        echo $procname
        echo $procname |grep "("
        if [ $? -eq 0 ]
        then
            procname=`echo $procname|cut -f1 -d")"`",lv_status)";
        else
            procname=`echo $procname`"(lv_status)";
        fi
        echo "Executing $procname"

        bteq <<EOF
        .logon $tdpid/db_user_name,db_password
        .EXPORT FILE=$tempfile
        .SET WIDTH 3000
        .SET TITLEDASHES OFF;
        CALL $procname;
        .EXPORT RESET;
        .LOGOFF
        .EXIT
        EOF

        exit_status=$?
        lv_status=`tail +2 $tempfile`

        rm -f $tempfile

        if [ $lv_status ] 
        then
            if [ $lv_status = "FAILED" -o $exit_status -ne 0 ]
            then
                echo "Error in executing procedure $procname";
                exit 1;
            fi
        else
            echo "The procedure does not have the mandatory OUT status parameter. Consider remodeling the code for full error trapping"
            exit 1
        fi

        echo "Procedure $procname completed successfully"
person Aritra Bhattacharya    schedule 02.07.2015
comment
Dengan beberapa penyesuaian untuk memodifikasi kebutuhan saya, itu berhasil. Terima kasih! - person staples; 02.07.2015
comment
Ya, saya baru saja memberikan drafnya. Senang membantu.. :) @staples - person Aritra Bhattacharya; 02.07.2015