/*=================================================================================================
AUTORE     : Almaviva
DATA       : 9 Gennaio 2018
VERSIONE   : 1
OBIETTIVO  :
DESCRIZIONE: Aggiornamento database: rimozione del vincolo NOT NULL sul campo AABSISOL_TAB.DATA_INIZIO
=================================================================================================*/
SET SERVEROUTPUT ON
SET VERIFY OFF
SET LINESIZE 255

DECLARE

	ROUTINE VARCHAR2(50) := 'RIMUOVI_VINCOLO_AABSISOL_TAB(DATA_INIZIO)';
	cnt1 PLS_INTEGER := 0;  
    owner_tab varchar2(1000) := 'SCHEMA TABELLE AABS'; --<-- Inserire l'owner delle tabelle aabs
    v_constr varchar2(200);
    
BEGIN
	
	DBMS_OUTPUT.ENABLE(1000000);

	DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE,'DD-MM-YYYY, HH24:MI:SS')||' - Inizio esecuzione '||ROUTINE);

    select 
        CONSTRAINT_NAME into v_constr 
    from SYS.ALL_CONS_COLUMNS 
    where table_name = 'AABSISOL_TAB' 
    and COLUMN_NAME = 'DATA_INIZIO'
    and OWNER = owner_tab;  

	execute immediate 'ALTER TABLE '||owner_tab||'.AABSISOL_TAB drop CONSTRAINT '||v_constr;

	commit;
	
	DBMS_OUTPUT.PUT_LINE('Vincolo '||v_constr||' rimosso.'); 
	
	DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE,'DD-MM-YYYY, HH24:MI:SS')||' - Fine esecuzione '||ROUTINE);

EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE,'DD-MM-YYYY, HH24:MI:SS')||' - ERRORE: '||SQLERRM||CHR(13)||CHR(10)||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;