When a process (or child process exits) the resulting status is an 8 bit word. Therefore valid values in a status are 0-255 of signed or unsigned char if you like.
So: You cannot get values like ORA-0412 passed as 412.
You will have to write something to a log file, or insert into an oracle table.
Example: sqlplus does write errors to stderr, so if you redirect from inside a shell script you capture the error.:
This will appear in the file somerrorlog
This User Gave Thanks to jim mcnamara For This Post:
I have a procedure with an out parameter, I want to use this value in a shell script, I've done this in perl before but they want this to be a ksh script. what is the syntax to do this.
this was my first thought;
#!/usr/bin/ksh
sqlplus -s scott/tiger@db << EOF
... (1 Reply)
Hi,
Iam calling 3 sql scripts through one shell script 'rmia.sh'.
Till now this was working fine, but last time while calling the SQL scripts,
Oracle was down. But amazingly the exit status was '0' (success)!!!
Below is the shell code:
#!/usr/bin/ksh -x
assign_file asql a.sql 1... (15 Replies)
Hi,
I would like to run a job based on the output from the SQL output.
Eg: Select count(*) from A ...if count(*) = 1 then execute the next step or else exit.
Please advise.
Thanks
S (2 Replies)
Having searched high and low through Oracles documentation, I came to think that they're very scripting-averse, as there's (apparently) no list of possible return/exit codes for their various command line utilities.
Is anyone here in possession of such a list, or knows where to find one? It... (16 Replies)
Am trying to run this :
DECLARE
CURSOR c1
IS
SELECT customer_id, num3
FROM table1
WHERE text1 = 'pp' AND customer_id IS NOT NULL;
custcount INTEGER;
oldtext24 VARCHAR2 (80);
commit_counter INTEGER := 0;
BEGIN
FOR i IN c1
... (1 Reply)
Afternoon ladies and gents,
I am trying to create a simple script to remove a certain file from a user's network profile location. The removal works ok, but in the interest of overkill I would like to add a simple error detection (such as file doesn't exist or permission denied)
Currently, it... (2 Replies)
Hi Gurus,
I am new to this unix world...I need your help to walk through.
I want to learn shell scripting..... The shell script which can be able to use with oracle pl/sql...
So please suggest me which shell is good.
Which Unix/Linux version is good for this to Install to get practice the... (8 Replies)
Hi,
I have been using the SFTP commands in my reusable shell scripts to perform Get/Put operation. The script has a list of 6 errors which i am capturing through the log file using grep command.
But I feel there might me more errors which the script might need to capture. I tried to capture the... (2 Replies)
Discussion started by: Bobby_2000
2 Replies
LEARN ABOUT DEBIAN
sql::translator::producer::oracle
SQL::Translator::Producer::Oracle(3pm) User Contributed Perl Documentation SQL::Translator::Producer::Oracle(3pm)NAME
SQL::Translator::Producer::Oracle - Oracle SQL producer
SYNOPSIS
use SQL::Translator;
my $t = SQL::Translator->new( parser => '...', producer => 'Oracle' );
print $translator->translate( $file );
DESCRIPTION
Creates an SQL DDL suitable for Oracle.
producer_args
delay_constraints
This option remove the primary key and other key constraints from the CREATE TABLE statement and adds ALTER TABLEs at the end with it.
quote_field_names
Controls whether quotes are being used around column names in generated DDL.
quote_table_names
Controls whether quotes are being used around table, sequence and trigger names in generated DDL.
NOTES
Autoincremental primary keys
This producer uses sequences and triggers to autoincrement primary key columns, if necessary. SQLPlus and DBI expect a slightly different
syntax of CREATE TRIGGER statement. You might have noticed that this producer returns a scalar containing all statements concatenated by
newlines or an array of single statements depending on the context (scalar, array) it has been called in.
SQLPlus expects following trigger syntax:
CREATE OR REPLACE TRIGGER ai_person_id
BEFORE INSERT ON person
FOR EACH ROW WHEN (
new.id IS NULL OR new.id = 0
)
BEGIN
SELECT sq_person_id.nextval
INTO :new.id
FROM dual;
END;
/
Whereas if you want to create the same trigger using "do" in DBI, you need to omit the last slash:
my $dbh = DBI->connect('dbi:Oracle:mysid', 'scott', 'tiger');
$dbh->do("
CREATE OR REPLACE TRIGGER ai_person_id
BEFORE INSERT ON person
FOR EACH ROW WHEN (
new.id IS NULL OR new.id = 0
)
BEGIN
SELECT sq_person_id.nextval
INTO :new.id
FROM dual;
END;
");
If you call this producer in array context, we expect you want to process the returned array of statements using DBI like "deploy" in
DBIx::Class::Schema does.
To get this working we removed the slash in those statements in version 0.09002 of SQL::Translator when called in array context. In scalar
context the slash will be still there to ensure compatibility with SQLPlus.
CREDITS
Mad props to Tim Bunce for much of the logic stolen from his "mysql2ora" script.
AUTHORS
Ken Youens-Clark <kclark@cpan.org>, Alexander Hartmaier <abraxxa@cpan.org>, Fabien Wernli <faxmodem@cpan.org>.
SEE ALSO
SQL::Translator, DDL::Oracle, mysql2ora.
perl v5.14.2 2012-01-18 SQL::Translator::Producer::Oracle(3pm)