/*
* Автор: Маркелов С.В.
* Дата: 2014-04-22
* Задача: http://jira.softage.ru/jira/browse/SDFO-298
* Назначение: АРМ СФМ - Новый признак пользователя "Уволен"
* Изменяются объекты:
		alter USERS
*/

/*
  ****** Инструкции для SQLPlus (обязательно) ******
  Для печати сообщений:
  DBMS_OUTPUT.put_line('<Message>');
*/
whenever sqlerror exit 1;
set serveroutput on;
set ECHO off;
set DEFINE off;

declare
	filename      varchar2(256) := 'sfm.database-update.2014-04-22.UserIsDismissedFlag.sql';
	purpose       varchar2(4000) := 'АРМ СФМ - Новый признак пользователя "Уволен"';
	SCRIPT_EXISTS number := 0;
begin

	--delete from DB_Update_History where script_name = filename;	commit;
	select count(*)
		into script_exists
		from DB_Update_History
	 where script_name = filename;

	if (script_exists > 0) then
		RAISE_APPLICATION_ERROR(-20001, '"' || filename || '" уже присутствует в базе');
	else
		insert into DB_Update_History
			(script_name, purpose)
		values
			(filename, purpose);
	end if;

	/*
	****** Begin update script ******
	*/
	/*
	****** End update script ******
	*/
	commit;

exception
	when others then
		rollback;
		raise;
end;
/
	/*
	****** Begin update script ******
	*/
		-- Не транзакционный апдейт
		alter table KFM.USERS add ("IS_DISMISSED" NUMBER(1, 0) default 0 check (IS_DISMISSED in (0, 1)));
		COMMENT ON COLUMN "KFM"."USERS"."IS_DISMISSED" IS 'Сотрудник 0 - в штате, 1 - уволен';
		-- Необходимы свои транзакции, если требуются
	/*
	****** End update script ******
	*/
