-- radimo novu probnu tablicu 
create table Proba
(
	ID int primary key identity
)
go

-- radimo DDL okidač koji sprečava brisanje ili izmjenu tablica
create trigger tMijenjanjeTablica
on database
for drop_table, alter_table
as
print 'Nije uspjelo!'
rollback
go

select * from sys.triggers
go


-- pokušaj brisanja probne tablice
drop table proba

-- pokušaj mijenjanja definicije probne tablice
alter table proba
add 
	poruka nvarchar(100)
go

-- mijenjamo okidač - sad sprečava i kreiranje tablica
alter trigger tMijenjanjeTablica
on database
for drop_table, alter_table, create_table
as
print 'Nije uspjelo!'
rollback
go

-- pokušaj kreiranja nove tablice
create table Proba2
(
	ID int primary key identity
)
go

-- mijenjamo okidač - ako nemamo rollback, brisanje, promjena ili kreiranje tablica je moguće
alter trigger tMijenjanjeTablica
on database
for drop_table, alter_table, create_table
as
print 'Uspjelo je!'
go

-- pokušaj kreiranja nove tablice je sad moguće
create table Proba2
(
	ID int primary key identity
)

-- provjera postojanja nove tablice
select * from proba2

drop trigger tMijenjanjeTablica on database
go

------------
------------
exec sp_helptext 'trtable'

select * from sys.sql_modules

select OBJECT_DEFINITION(1029578706)
------------
------------

