SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE procedure [dbo].[p_sys_srv_start_init_link_values]
as

	/*
	DGE 18/05/2015

	Les procédures p_sys_srv_start_* s'exécutent au moment du 1er login accepté sur le serveur.

	Cette procédure modifie le contenu des tables
		md_link_tables, 
		md_link_values.


	Elle s'exécute uniquement sur la base de référence.

	*/


	set nocount on;

	declare @seed int

	select @seed = opt_seed from ais_options

	if @seed != 0 
		return
	

	--MAJ des libellés pour les tables liées système qui existent déjà
	update	l
	set		l.ltbl_l1 = t.tbl_l1,
			l.ltbl_l2 = t.tbl_l2,
			l.ltbl_l3 = t.tbl_l3
	from	md_link_tables l
			inner join md_tables t	on	t.tbl_table_name = l.ltbl_link_table_name 
	where	l.ltbl_sys != 0
	and		t.tbl_table_name in ('nm_professions')


	-- création des tables liées
	insert into md_link_tables(ltbl_link_table_name, ltbl_l1, ltbl_l2, ltbl_l3,	ltbl_sys)
	select	tbl_table_name, tbl_l1, tbl_l2, tbl_l3, 1
	from	md_tables t1
	where	t1.tbl_table_name in ('nm_professions')
	and		not exists	(
						select	1
						from	md_link_tables a
						where	a.ltbl_link_table_name = t1.tbl_table_name)

	-- suppression des valeurs
	delete	v
	from	md_link_values v
			inner join md_link_tables lt	on	lt.ltbl_link_table_name = v.lval_link_table_name
											and	lt.ltbl_sys != 0
	where	lt.ltbl_link_table_name in ('nm_professions')

	-- insertion des valeurs
	insert	into md_link_values(lval_link_table_name, lval_value, lval_l1, lval_l2, lval_l3)
	select	'nm_professions', p.nmprof_prof_code, p.nmprof_l1, p.nmprof_l2, p.nmprof_l3
	from	nm_professions p

	
GO
