⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oooo.sql

📁 照片管理系统的数据库
💻 SQL
字号:
use image

create table userid(
uid char(10) primary key,
uname varchar(20) not null,
pwd varchar(16) not null,
email varchar(20) not null
)
go


 drop table ablum

create table ablum(
uid char(10) not null references userid(uid),
photoid  char(10) primary key,
pname varchar(20) not null default'我的秀图',
mshu varchar(50) ,
)
go

drop table imag

create table imag(
photoid char(10) references ablum(photoid),
imageid char(10) not null,
photo image ,
iname varchar(20) not null,
primary key(photoid,imageid)
)



alter table imag
add                                                                                                                                                                                                 



--lect uid,uname,pwd,email,photoid,pname,mshu,imageid,iname from userid join ablum on  userid.uid=ablum.uid join imag on imag.photoid=ablum.photoid


--lect userid.uid,pwd,email,ablum.photoid,pname,mshu,imageid,iname from userid join ablum on  userid.uid=ablum.uid join imag on imag.photoid=ablum.photoid
         --创建全局视图
select * from v_all

drop view v_all


--创建全局视图
create view v_all
as
select userid.uid,uname,pwd,email,ablum.photoid,pname,mshu,imageid,iname,photo from userid join ablum on  userid.uid=ablum.uid join imag on imag.photoid=ablum.photoid

--查看会员总数
use image

select count(*) 会员总数 from userid
go

select * from userid


--图片总数
select count(*) 图片总数 from  imag 
go



--创建用户表视图
create view v_userid
as
select * from userid
go

--创建用户视图
select * from v_userid



--创建相册视图
create view v_album
as
select * from ablum
go


--创建照片视图
create view v_image
as
select * from imag
go











--INSERT 触发器


create trigger u_insert on userid
after insert 
as
declare @u_uid char(10)
select @u_uid=uid  from inserted
insert into ablum(uid,photoid) select @u_uid ,uid from userid


insert into userid values('07118701','chan','07118701','123@134.com')


select * from userid


select * from v_all


select * from ablum






--添加用户视图存储过程
create proc proc_userid
@uid char(10),@uname varchar(20),@pwd varchar(16),@email varchar(20)
as
if not exists(select * from userid where uid=@uid)
 insert into userid(uid,uname,pwd,email) values(@uid,@uname,@pwd,@email)
else
print'用户名已存在,请换一个重试。'










--检验上面存储器的功能 (插入已存在值检验结果)
exec proc_userid '07118701','07118701','趁','asdasd@133.com'






select * from userid




delete  function dbo.ano






--创建自定义函数 返回用户像册现有数量(或下标)

create function ano(@uid char(10))
returns int
as
begin
declare @no int
select @no=count(pname) from ablum where uid=@uid
return @no
end
go



--验证函数体

select * from dbo.ano ('07118701')









drop proc proc_ablum




--添加像册存储过程
create proc proc_ablum
@uid char(10),@pname varchar(20),@mshu varchar(50)
as
if not exists(select * from ablum where uid=@uid and pname = @pname)
  insert into ablum(uid,photoid,pname,mshu) values(@uid,dbo.ano(@uid)+1,@pname,@mshu) 
else
print '用户名或相册名重复,请重新填写!'
go






--验证相册存储过程
exec proc_ablum '07118701','我的美丽','最美丽的自己在那时!~'
go






--DELECT 用户表删除触发器

create trigger del_userid on userid
after delete
as
declare @uid char(10)
select @uid=uid from deleted
delete from ablum where ablum.uid=@uid


--验证
delete from userid where uid='07118701'





--查询最终结果
select * from userid


select * from ablum 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -