Compare commits
2 Commits
6b3de7ecba
...
a0933f069f
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a0933f069f | ||
![]() |
0ecb0c46ff |
9
数据库/头歌/添加常用约束/添加常用约束.sh
Normal file
9
数据库/头歌/添加常用约束/添加常用约束.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
sqlcmd -S localhost -U sa -P '<123123Aa!@>'
|
||||||
|
CREATE DATABASE MyDb;
|
||||||
|
go
|
||||||
|
|
||||||
|
USE MyDb;
|
||||||
|
go
|
||||||
|
|
||||||
|
CREATE TABLE t_user (id INT PRIMARY KEY IDENTITY(1,1), username VARCHAR(32) NOT NULL UNIQUE, sex INT DEFAULT 0);
|
||||||
|
go
|
70
数据库/头歌/触发器的创建和使用/1. 触发器的创建和使用.sh
Normal file
70
数据库/头歌/触发器的创建和使用/1. 触发器的创建和使用.sh
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
USE studentdb
|
||||||
|
go
|
||||||
|
|
||||||
|
SET NOCOUNT ON
|
||||||
|
go
|
||||||
|
--********** create trigger_insert_score **********--
|
||||||
|
--********** Begin **********--
|
||||||
|
CREATE TRIGGER trigger_insert_score
|
||||||
|
ON score
|
||||||
|
INSTEAD OF INSERT
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
IF EXISTS (SELECT * FROM inserted i WHERE NOT EXISTS (SELECT 1 FROM student s WHERE s.sno = i.sno))
|
||||||
|
BEGIN
|
||||||
|
RETURN
|
||||||
|
END
|
||||||
|
INSERT INTO score (sno, cno, grade)
|
||||||
|
SELECT sno, cno, grade FROM inserted
|
||||||
|
END
|
||||||
|
--********** End **********--
|
||||||
|
go
|
||||||
|
delete from score
|
||||||
|
go
|
||||||
|
insert into score values('1001','2001','89.5')
|
||||||
|
go
|
||||||
|
insert into score values('1002','2001','95')
|
||||||
|
go
|
||||||
|
insert into score values('1011','2001','88')
|
||||||
|
go
|
||||||
|
select * from score
|
||||||
|
go
|
||||||
|
|
||||||
|
|
||||||
|
--********** create trigger_delete_student **********--
|
||||||
|
--********** Begin **********--
|
||||||
|
CREATE TRIGGER trigger_delete_student
|
||||||
|
ON student
|
||||||
|
INSTEAD OF DELETE
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM score WHERE sno IN (SELECT sno FROM deleted)
|
||||||
|
DELETE FROM student WHERE sno IN (SELECT sno FROM deleted)
|
||||||
|
END
|
||||||
|
--********** End **********--
|
||||||
|
go
|
||||||
|
delete from student where sno='1001'
|
||||||
|
go
|
||||||
|
select * from student
|
||||||
|
go
|
||||||
|
|
||||||
|
--********** create trigger_protect_grade **********--
|
||||||
|
--********** Begin **********--
|
||||||
|
CREATE TRIGGER trigger_protect_grade
|
||||||
|
ON score
|
||||||
|
FOR UPDATE
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
IF UPDATE(grade)
|
||||||
|
BEGIN
|
||||||
|
ROLLBACK TRANSACTION
|
||||||
|
END
|
||||||
|
END
|
||||||
|
--********** End **********--
|
||||||
|
go
|
||||||
|
delete from score where sno='1001'
|
||||||
|
go
|
||||||
|
select * from score
|
||||||
|
go
|
||||||
|
select * from student
|
||||||
|
go
|
Loading…
x
Reference in New Issue
Block a user