RE: aborting a SQL script based upon DB name

  • From: "Igor Neyman" <ineyman@xxxxxxxxxxxxxx>
  • To: <spikey.mcmarbles@xxxxxxxxx>, "'ORACLE-L'" <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 19 May 2005 10:17:07 -0400

Same idea, but instead of aborting I do conditional dynamic sql:

declare
   dbname     global_name.global_name%TYPE;
begin
   select global_name into dbname
      from global_name;

   if dbname = 'LVLSDP' then
        EXECUTE IMMEDIATE '..............';
   end if;
end;
/

Igor Neyman, OCP DBA
ineyman@xxxxxxxxxxxxxx



-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Greg Norris
Sent: Thursday, May 19, 2005 8:50 AM
To: ORACLE-L
Subject: aborting a SQL script based upon DB name

I was recently asked how to setup a SQL script, to ensure that it
aborts if accidentally run on the wrong database.  The scriptlet below
is what I came up with... it seems to work just fine, but got me
curious about alternate approaches.  Anyone care to share a
substitute, or comment on the futility of life in general? ;-)

----- <snip> -----
-- ensure that the following block aborts the script on error
whenever sqlerror exit 100

declare
   dbname     global_name.global_name%TYPE;
begin
   select global_name into dbname
      from global_name;

   if dbname !=3D 'LVLSDP' then
      raise_application_error(-20001,'I pity ''da fool who connects to
''da wrong database!!!');
   end if;
end;
/

-- back to the default behaviour
whenever sqlerror continue
----- <snip> -----

--=20
"I'm too sexy for my code." - Awk Sed Fred.
--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l

Other related posts: