Delimiter //
Drop Procedure if exists LOADER_CREATE_TABLE_REFDATALABEL//
Create Procedure LOADER_CREATE_TABLE_REFDATALABEL ()
Begin
    Drop Table If Exists LOADER_REFDATALABEL;
    
    Create Table LOADER_REFDATALABEL (
        ID_LOADER_REFDATALABEL Int Unsigned Not Null Auto_increment
        -- champs pour le traitements de l'import
        , LOADER_STATUS_ID_LOADER_STATUS Int Unsigned Not Null

        -- champ de références

        , ENTITIES_REF_SEQUENCE smallint Unsigned Null -- numéro de la sequence fourni par le fichier
        , ENTITIES_REF_DATA_CODE varchar(20) -- valeur de la référence, fourni par le fichier

        , ENTITIES_REF_ID_ENTITIES_REF Int Unsigned -- id reference, issu normalisation
        , ID_ENTITIES_REF_DATAS Int Unsigned -- issu normalisation si code trouvé
        , NEW_ID_ENTITIES_REF_DATAS Int Unsigned -- issu normalisation si code non trouvé

		, LOADER_REFDATA_TYPE Varchar(25) Not NULL Default 'ACCOUNTS'

		, DF_LANGUAGES_CODE varchar(5) -- la langue du label
		, DF_LANGUAGES_ID_DF_LANGUAGES Int Unsigned  -- issu normalisation id langue si code langue trouvé

		, ID_ENTITIES_REF_DATAS_LNG Int Unsigned -- id du text si text existant trouvé dans la langue
		, NEW_ID_ENTITIES_REF_DATAS_LNG Int Unsigned -- id du text si nouveau text

		-- la données
		, ENTITIES_REF_DATAS_LNG_LABEL varchar(100) -- le text dans la langue


        -- contraintes et indexes
        , Primary Key (ID_LOADER_REFDATALABEL)
        , Index (LOADER_STATUS_ID_LOADER_STATUS)
        , Index (DF_LANGUAGES_CODE)
        , Index (LOADER_REFDATA_TYPE)
        , Index (NEW_ID_ENTITIES_REF_DATAS)
        , Index (ID_ENTITIES_REF_DATAS)
        , Index (ENTITIES_REF_ID_ENTITIES_REF, ENTITIES_REF_DATA_CODE)


    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
End //
Delimiter ;
call LOADER_CREATE_TABLE_REFDATALABEL();