T-SQL小练

好久没有写博客了,也好久没写SQL语句了。今天给大家分享一下SQL语句的一些语句。

create database vote --创建一个数据库名字为vote

use vote --使用这个数据库

create table voteMaster --创建一张表,投票项目。编号,项目,总票数。

(

   voteID int primary key,

  voteTitle varchar(100) not null,

  voteSum int default 0

)

--插入了两条投票项目

insert into voteMaster values(1,'选举工会主席',0)

insert into voteMaster values(1,'对网站的建设意见',0)

create table voteDetails

(

  voteID int foreign key references voteMaster(voteID),--投票细节的ID作为上一张表的外键和上一张表联系起来

  voteDetailsID int not null,

  voteItem varchar(20) not null,

  voteNum int default 0,

  primary key(voteID,voteDetailsID)--两个ID共同作为主键

)

  insert into voteDetails values(1,1,'张三',0)

  insert into voteDetails values(1,2,'李四',0)

  insert into voteDetails values(2,1,'李岁',0)

  insert into voteDetails values(2,2,'王五',0)

这样两张表就关联起来了。但是第二张表更新的时候,第一张表的总票数也要更新这是个被动触发的事件,最好用到触发器。

 create trigger update Master

 on voteDetails --触发器作用于第二张表

  for update  --更新事件

  as

 begin

  update voteMaster set voteSum=voteSum+1 where voteID=(select top 1 voteID from inserted)

 end

这样触发器就建立完了。有人给某个项目投了一票,总票数就会+1.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值