Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- alter trigger EmpIns
- on Emp for delete
- as
- begin
- rollback;
- end
- delete from emp;
- select * from emp;
- //nie daje usunac
- -----------------------------------------
- create trigger EmpInss
- on Emp for insert
- as
- begin
- update emp set
- comm=0
- where comm is null;
- end
- insert into emp(empno, ename, comm)values
- (2322, 'Kowalski',120),
- (2323,'Kowalski2',NULL)
- select * from emp;
- //zmienia wszystki znaczenia w kolumnie comm na 0(zero);
- -------------------------------------------------------------------
- create trigger EmpInsUpd
- on Emp for insert
- as
- begin
- --inserted,deleted
- select*from inserted;--widzimy ktore dane byly wstawione
- if EXISTS(select 1 from inserted where sal<1000)
- Begin
- declare @TempTable table
- (
- id int identity primary key,
- Empno varchar(20)
- );
- insert into @TempTable(Empno)
- select Empno, SAL from inserted;
- Declare @MinId int = (select min(id) from @TempTable);
- Declare @MaxId int = (select max(id) from @TempTable);
- while(@MinId<=@MaxId)
- begin
- if EXISTS(Select 1 from @TempTable where SAL<1000 and id= @MinId)
- begin
- declare @Empno varchar(30)
- update emp set
- sal = (select sal from emp deleted where empno = @Empno)
- where empno =@Empno
- end
- set @MinId = @MinId+1;
- end
- end
- end
- update emp set sal=sal-100;
- select * from emp;
- ----------------------------------------------------------------------------------------
- CREATE TRIGGER T6Z6
- ON EMP FOR INSERT, UPDATE, DELETE
- AS
- BEGIN
- IF EXISTS(SELECT 1 FROM INSERTED WHERE INSERTED.ENAME != ENAME)
- BEGIN
- ROLLBACK;
- END
- IF EXISTS(SELECT 1 FROM INSERTED WHERE EXISTS (SELECT ENAME FROM EMP
- WHERE INSERTED.ENAME = ENAME))
- BEGIN
- ROLLBACK;
- END
- IF NOT EXISTS(SELECT 1 FROM INSERTED WHERE SAL > 0)
- BEGIN
- ROLLBACK;
- END
- END
- INSERT INTO EMP(EMPNO, ENAME, COMM, SAL)
- VALUES(2325, 'Kowalski', 120, 1900);
- DELETE FROM EMP
- WHERE SAL > 0;
- UPDATE EMP
- SET ENAME = 'Zmiennik';
- SELECT * FROM EMP;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement