sqlsever ,触发器的练习

sqlsever存储过程练习题  一、存储过程练习题 1、根据玩家姓名,显示该玩家玩过哪些公司的游戏 2、根据战绩的关键字(比如’第一名’)查询玩家所属的省份。 二、触发器练习题 1、PlayGame表的插入触发器:功能是如果新插入的记录的PlayerID和GameID在PlayGame表中已经存在,则提示不能插入,事务回滚取消插入操作;否则,则可以成功插入,并将对应的Game表中的PlayCount玩家人数增加1 阅读详情



学生表,成绩表,课程表,班级表

--1、 删除xs表中birth字段的check约束,并建立insert类型的触发器,
select *from xs
--实现,如果插入的记录的birth字段不处在1980-1-1至1991-12-31之间,进行操作回滚,并提示错误信息。
alter table xs  drop constraint   CK_xs_birth
drop trigger Tri_name
go
create trigger Tri_name
on xs
 for insert
 as
 declare @birth datetime
 set @birth=(select xs_birth from inserted)
 if(@birth>='1980-1-1' and @birth<='1990-12-31')
    print @birth
  else
   rollback transaction
 raiserror('错误失败',10,1)
go
insert into xs values('037','刘s',1,'1990-12-1','重庆','004',1.33,23.4)
select *from xs
--2、在xs表上建立insert触发器,每次成功插入一条记录时,对class表中的xs_count字段值要+1。
select *from xs
go
create trigger taker
on xs for insert
as
if(update(xs_class))
declare @classID nchar(20)
set @classID=(select xs_class from inserted)
update class set xs_count=xs_count+1
 where class_id=@classID
go
drop trigger taker
insert into xs values('039','刘小',1,'1990-12-1','重庆','004',1.33,23.4)
select *from xs
select *from class
--3 、在xs表上建立delete触发器,每次成功删除一条记录时,对class表中的xs_count字段值要-1。
go
create trigger deletes
on xs for delete
as
if(update(xs_class))
declare @stu char(20)
set @stu=(select top 1 xs_class from deleted)
update class set xs_count=xs_count-1
 where class_id=@stu
go
drop trigger deletes
delete from xs where xs_id='009'
select *from class
select *from xs
--4 、取消cj表中的外键约束,改用cj表的insert触发器实现当
--cj表的kc_xs_id,id在xs表和kc表中找不到对应的xs_id,kc_id时,进行操作回滚,并提示错误信息。
alter table cj  drop constraint   FK_cj_xs
select * from xs
go
alter trigger T_cj_update
on cj for insert
as
begin
declare @xs_id char(6),@kc_id char(3)
set @xs_id=(select xs_id from inserted)
set @kc_id=(select kc_id from inserted)
if(@xs_id in(select xs_id from xs ) and @kc_id in(select kc_id from kc))
print '成功插入数据'
else
begin
 rollback
 raiserror('错误失败',10,1)
 end
 end
go

drop trigger
select * from cj
select * from xs
select * from kc
delete from cj where cj=1000
insert into cj values ('015','005',1000)
--5 、在kc表上建立update触发器,如果修改kc表的kc_id字段时,
--update操作回滚,并提示不能修改kc_id的错误信息。
go
create trigger t_update
on kc for update
as
begin
if(update(kc_id))
 rollback
 raiserror('无法修改',10,1)
 end
go
update kc set kc_id='001'  where kc_id='009'
select *from kc
--6 、在xs表上建立update触发器,如果修改xs表的xs_id字段时,
--cj表中对应的xs_id也进行相应的修改。
go
create trigger t_update_xs
on xs for update
as
begin
declare @xs_id char(10)
declare @new_id char(10)
set @xs_id=(select  xs_id from inserted)
set @new_id=(select xs_id from deleted)
if(@xs_id!=@new_id)
 begin
 update cj set xs_id=@xs_id where xs_id=@new_id
 print '学生ID已经修改'
end
end
go
drop trigger t_update_xs
select * from xs where xs_id='001'
update xs set xs_id='001'  where xs_id='099'
select *from cj

sqlsever练习题答案word文档填空题选择题 一、填空题 1.用SELECT进行模糊查询时,可以使用( like或者not like )匹配符,但要在条件值中使用( %)或(_)等通配符来配合查询。并且,模糊查询只能针对字段类型是( 字符串 )的查询。 2.计算字段的累加和的函数是:( SUM ),统计项目数的函数是:( COUNT )。 3.关系数据模型中,实体用( 记录 )来表示。 4.数据管理技术经历了( 人工管理 )、( 文件系统 )和( 数据库系统 )三个阶段。 5.DBMS是( 数据库管理系统 ),它是介于( 用户 )和(操作系统)之间的一 阅读详情

相关推荐

构建基于SqlSever的学生选课系统数据库课程设计

数据库是一个存储和管理数据的集合,它的特性包括持久性、一致性、并发控制和恢复等。在信息技术中,数据库系统为数据处理提供了支持,包括数据的存储、查询、更新和管理。在SqlSever中,常用的数据类型有整型、浮点型、字符型、日期时间型等。选择合适的数据类型对性能和存储空间效率至关重要。例如,整型数据适合存储数值,而字符型适合存储文本信息。正确的数据类型选择能够确保数据完整性并优化存储和处理过程。

weixin_42527665的博客 518

SQL编程-----触发器练习

## 创建职工表以及职工工资表 职工表字段:工号,姓名,性别,年龄 工资表字段:编号自增,职工工号,基础工资10000 通过触发器实现: 对职工进行添加时 工资表中也要体现当前职工的信息 对职工进行修改时 工资表中也要一并修改当前职工的信息 对职工进行解聘时 工资表中也要一并删除当前员工的工资信息 **

Nirvana92的博客 408

SQL数据库触发器练习题

SQL数据库触发器练习题附加数据库

数据库——SQL语句(触发器)

目录1 AFTER触发器2 INSTEAD OF触发器 1 AFTER触发器 [USE <数据库名> GO] CREATE TRIGGER <触发器名> ON <表名> FOR <动作INSERT,UPDATE,DELETE> AS [触发触发器后的附加条件] BEGIN <动作集合> END; **例:**创建一个删除学生成绩的触发器。 CREATE TRIGGER SCCJ ON SC FOR DELETE AS PRINT’学生已经被删除’;

weixin_39363859的博客 6145

SQL server存储过程习题,SQL触发器习题.rar

SQL存储过程习题,SQL触发器习题,SQL习题,基础语法,与W3School类似,初学者学习使用。

点云处理工具——pclpy安装

pclpy介绍及详细安装过程 文章目录pclpy简介下载:安装测试 pclpy简介 pclpy是点云库(PCL)的Python绑定。使用CppHeaderParser和pybind11从头文件生成。 这个库正在积极开发中,api可能会发生变化。所包含的模块确实可以工作,但测试还不完整。目前只支持Windows和python 3.6 x64。 许多其他python库尝试绑定PCL。最流行的是python-pcl,它使用Cython。虽然Cython非常强大,但绑定c++模板并不是它的强项(PCL大量使用模.

图像处理、SLAM、PCL、OpenCV爱好者 1万+

【Oracle】数据库应用技术上机-week15-触发器trigger

【Oracle】数据库应用技术上机-week15-触发器trigger

Bella_Seven的博客 363

ShardingSphere-JDBC-若依框架集成(SpringBoot)

ShardingSphere基础知识、ShardingSphere-JDBC如何集成进若依框架中 使用的是若依框架前后端版本、动态数据源,可自行切换,默认数据源为达梦8代理端,

编程小菜鸟的笔记 8168

sqlserver的触发器练习

触发器的概念:它是由事件驱动的,就像java中的监听,当某个事件发生了,就会做一些工作。 下面直接上干货,创建insert触发器、delete触发器、DDL触发器和如何查看触发器定义 1.创建三个表学生表、班级表、课程表 1 2 3 4 5 6 7 8 9 10 11 12 13

马某人的博客 635

InternVL 3.5 深度解析:开源多模态模型的新里程碑

InternVL 3.5是由上海人工智能实验室OpenGVLab团队推出的开源多模态大模型,在推理能力、效率和灵活性方面取得突破。该模型采用ViT-MLP-LLM架构,包含60亿参数的InternViT-6B视觉编码器和多种规格的语言模型骨干。核心创新包括:1)Cascade RL强化学习框架,通过离线热身和在线强化两阶段训练提升推理能力;2)ViR视觉分辨率路由器,动态调整图像处理分辨率以优化计算效率;3)DvD动态视觉token压缩技术。模型系列涵盖2B到241B参数规模,满足从边缘设备到高性能计算的不

m0_47999117的博客 1031

相位相关匹配法的opencv C++实现

这一段就是PCIAM算法的核心了,计算两幅图像的峰值相关矩阵,也是完全按照matlab移植过来的,但是后面几行,是为了筛选一些不可能存在的情况,比如边缘处的完全重合,或者只有一行,或者一列重合等等情况,由于PCIAM算法在边缘处的响应值高,所以在一些场景下可能是一种干扰,所以进行了剔除,当然可以不剔除,就是对后期的峰值选取会有影响。头文件,以及各类函数,还有主函数,第一次独立的写这种分文件类型的项目,写的拉跨还请包涵,以及当然可以转成类的形式,但感觉有点小麻烦,后期再修改吧。

qq_43616651的博客 4268

sqlserver的触发器练习实例

sqlserver的触发器练习实例 触发器的概念:它是由事件驱动的,就像java中的监听,当某个事件发生了,就会做一些工作。 下面直接上干货,创建insert触发器、delete触发器、DDL触发器和如何查看触发器定义 1.创建三个表学生表、班级表、课程表 --在数据库中创建三个表学生表、班级表、课程表的结构 create table student (...

weixin_30558305的博客 358

QTabWidget动态标签页管理:从代码创建到UI设计的实战指南

本文深入探讨了QTabWidget动态标签页管理的实战技巧,涵盖从纯代码创建到UI设计器布局的两种核心方法。详细讲解了如何动态添加、插入、关闭标签页,并管理其内容与生命周期。文章还提供了标签页精细化控制、界面优化(如设置图标、样式表)以及构建简易多文档编辑器的进阶实战案例,帮助开发者灵活应对数据监控、多文档编辑等复杂界面需求。

omega的博客 868

触发器-sqlsever

1.简述 触发器与存储过程的唯一区别是触发器不能执行EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发执行。 此外触发器是逻辑电路的基本单元电路,具有记忆功能,可用于二进制数据储存,记忆信息等。 触发器有如下作用: 可在写入数据表前,强制检验或转换数据。 触发器发生错误时,异动的结果会被撤销。 部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。 可依照特定的情况,替换异动的指令 (INSTEAD OF)。 2.基本创建语句 create trigge

qq_45847111的博客 240

DarkSword漏洞工具包分析:针对iOS的高级定向攻击

网络安全领域中,漏洞利用工具包是攻击者实施高级持续性威胁(APT)的核心武器。DarkSword作为新型iOS漏洞利用工具包,通过精心构造的漏洞链(包括CVE-2025-31277等)突破系统防护,采用内存驻留技术规避检测。这类攻击通常针对金融、能源等高价值目标,窃取钥匙串凭证、加密货币钱包等敏感数据。防御方面需结合终端检测与响应(EDR)解决方案和网络流量分析,同时关注漏洞修复时效性。本次事件揭示了移动设备在供应链安全和企业环境中的特殊风险,为行业敲响警钟。

weixin_32234493的博客 56

comsol移动网格_comsol模拟移动的纳秒脉冲激光烧蚀材料,温度场分布,结果总不理想,求助大佬!!...

本人comsol新手一枚,希望大家多多指点研究课题:纳秒脉冲激光刻蚀材料表面想用comsol模拟刻蚀过程中的温度场分布,脉宽为300ns,重复频率100kHz,光斑移动速度为5000mm/s,光斑直径50um,激光功率10W,材料种类为:有机涂层,属性如下目前,采用的是一个移动的高斯面光源x脉冲函数,脉冲函数我用的是一个周期性方波:周期性拓展后,画出来的脉冲图,不知道为什么在0~1s的区间内只有1...

weixin_33288893的博客 4748

触发器 sqlsever

概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIG

蓝假儿的博客 492

Flow Match 原理 及应用

Flow Matching(流匹配)是生成模型的范式革命——用确定性ODE替代随机扩散过程,在自动驾驶轨迹预测中实现10倍采样加速和更高生成质量。更快的采样速度:通常只需 10-50 步就能生成高质量样本更稳定的训练:避免了传统扩散模型中复杂的噪声调度理论基础:基于连续正规化流(Continuous Normalizing Flows)核心思想:Flow Matching 通过学习一个 向量场(vector field) 来直接建模从噪声分布到目标分布的连续变换路径。

@bangbang的博客 105

SQLSever触发器建立

先附上示例代码: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ========================================

superSmart_Dong的博客 868

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SQLSever 触发器

1 /*DML触发器分为: 2 3 1、 after触发器(之后触发) 4 5 a、 insert触发器 6 7 b、 update触发器 8 9 c、 delete触发器*/ 10 11 /*UPDATE 触发器创建触发的语法*/ 12 CREATE TRIGGER trigger_name 13 ON tabl...

weixin_33964094的博客 106

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

sqlsever2005限指定IP访问数据库--登录触发器实现

1.查看本机sql server 2005当前版本  网上很多地方写的是,sqlserver升级到sp2及以上,就可以写登录触发器了。可是很多人反应,自己sqlserver是sp2的时候,LOGON也是无效事件。  你是不是用select  @@version 这个语句查询的sqlserver版本的呢?  在新建查询里,输入    select @@version   将会得到    Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)   Nov 24

xuanshilee的专栏 1489

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

sqlsever 触发器

Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。更新操作 Inserted表有数据(新数据),Deleted表有数据(旧数据)插入操作 Inserted表有数据,Deleted表无数据。删除操作 Inserted表无数据,Deleted表有数据。

my_words的博客 134

学生选课系统SqlSever数据库课程设计

学生选课系统SqlSever数据库课程设计 去发现同类优质开源项目:https://gitcode.com/ 本项目为一个SqlSever数据库课程设计资源,适用于SqlSever2012及以上版本。本资源主要包含一个简单的选课系统数据库,以及相关文档和学习资料。 本项目涵盖以下知识点: 存储过程 触发器 视图 游标 资源文件包含以下内容: 数据库文件 设计文档 学习资料 通过参考本项目,...

gitblog_06706的博客 441

mysql oracle 触发器_mysql、sqlsever、oracle数据库课程设计触发器演示trigger示例

什么是触发器比如你现在有两个表【商品表】和【商品日志表】,当一个商品被创建或修改的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编写程序语言逻辑才能实现,但是如果你定义了一个触发器,触发器的作用就是当你在用户表中插入一条数据的之后帮你在日志表中插入一条日志信息。当然触发器并不是只能进行插入操作,还能执行修改,删除。1、创建商品表和商品日志表两个表DROP TABLE...

weixin_42150745的博客 213

求助~萌新SQLSever触发器语法

如题,求助,表1的更新与插入,在表2实时更新,该如何写这个触发器语句。

yuanxu134331的博客 127

SqlServer触发器

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。  Ø 什么是触发器      触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、d

kucaozhuzhu的专栏 572
上一篇: Java基础,笔记!
下一篇: 用Eclipse获取sql中的数据
罗文付
博客等级 码龄12年 2粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值