Oracle if exists

Oracle no tiene la UTILíSIMA clausula if exists de MySql. Lo cual es una pena y te impide ejecutar varias veces un mismo DDL pero esa carencia se puede subsanar gracias a PL/SQL.

DECLARE
	 v_cuantity NUMBER(11,2); 
        v_cmdtodo varchar2(200); 
BEGIN
	select count(*) 
	into v_cuantity
	from tabs
	where table_name = 'MI_TABLA';
	
	IF ( v_cuantity = 1 ) THEN        
 		-- MAKING A NICE BACKUP
		v_cmdtodo := 'alter table MI_TABLA rename to MI_TABLA_BK';
              execute immediate v_cmdtodo;
	END IF;                         
END;
 
ora/ifexists.txt · Última modificación: 2008/05/15 11:26 por juantxu
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki