SQL脚本整理系列 三
触发器
SQL 2008 怎么实现删除学生表里面的一条记录,成绩表里面关于这个学生的记录也同时删掉,谢求具体代码
--创建表
IF OBJECT_ID('tstudent') > 0
DROP TABLE tstudent
GO
CREATE TABLE tstudent
(
fstudentno VARCHAR(10) PRIMARY KEY ,
fname NVARCHAR(10),
) IF OBJECT_ID('tScore') > 0
DROP TABLE tScore
CREATE TABLE tScore
(
fstudentno VARCHAR(10) PRIMARY KEY ,
fscroe INT
)
GO --插入测试数据
INSERT dbo.tstudent
( fstudentno, fname )
VALUES ( '', -- fstudentno - varchar(10)
N'小张' -- fname - nvarchar(10)
) INSERT dbo.tScore
( fstudentno, fscroe )
VALUES ( '', -- fstudentno - varchar(10)
90 -- fscroe - int
) --查看插入效果
SELECT *
FROM dbo.tScore
SELECT *
FROM dbo.tstudent --创建触发器
IF ( OBJECT_ID('tgr_DeleteByStudentNo', 'tr') IS NOT NULL )
DROP TRIGGER tgr_DeleteByStudentNo
GO
--创建一个删除的触发器
CREATE TRIGGER tgr_DeleteByStudentNo ON tstudent
AFTER DELETE
AS
DECLARE @strStudentNo VARCHAR(10)
SELECT @strStudentNo = fstudentno
FROM deleted DELETE FROM tScore
WHERE fstudentno = @strStudentNo DELETE FROM tstudent
WHERE fstudentno = '' --查看删除效果
SELECT *
FROM dbo.tScore
SELECT *
FROM dbo.tstudent
计算列
sql中 能否新建一个字段,字段的计算列中写移动平均的计算公式,如果不能应如何计算移动平均
解决方法:
新增2列:一列FF的默认值为一个函数,函数计算上面4行和值
一列为计算列 计算当前行 (Score +FF)/5
CREATE TABLE [dbo].[tScore](
[fstudentno] [VARCHAR](10) NOT NULL,
[fscroe] [INT] NULL,
[fDate] [DATETIME] NOT NULL,
[ff] [DECIMAL](18, 3) NULL,
[AvgScore1] AS (([fscroe]+[ff])/(5)) PERSISTED,
CONSTRAINT [PK__tScore__9DB95AB24AB81AF0] PRIMARY KEY CLUSTERED
(
[fstudentno] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO SET ANSI_PADDING OFF
GO ALTER TABLE [dbo].[tScore] ADD CONSTRAINT [DF_tScore_fDate] DEFAULT (GETDATE()) FOR [fDate]
GO ALTER TABLE [dbo].[tScore] ADD CONSTRAINT [DF_tScore_ff] DEFAULT ([dbo].[fn_GetAvg]()) FOR [ff]
GO CREATE FUNCTION fn_GetAvg()
RETURNS decimal(18,3)
as
BEGIN
-- 自己统计上面4行数据的和值
RETURN 1.2
END
SQL脚本整理系列 三的更多相关文章
- SQL脚本整理系列一 表分区
表分区的目的: 1.把历史数据放到另外一个表里面 可以提高查询效率 当然如果经常查询历史数据和新数据的合并结果集这样做就大大的不好了 2.通过把一个表放到不同的文件,不同的文件再存储到不同的磁盘列阵中 ...
- SQL脚本整理系列一 分隔函数
原来效果: fName Scroe 王某某 ,, 李某某 , 王某某 李某某 李某某 ,, 王某某 执行后效果: name score 李某某 李某某 李某某 王某某 王某某 王某某 王某某 王某某 ...
- 必杀技———SQL基础整理系列(一)
SQL(Structured Query Language)——结构化查询语言 SQL语言的组成部分 数据定义语言 (DDL:Data Definition Language) 负责数据结构定义与数据 ...
- sql server 备份与恢复系列三 简单恢复模式下的备份与还原
一.概述 前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原.在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重 ...
- SQL 脚本整理 笔记
1.视图 存储过程 触发器 批量加密(With Encryption),单个解密 在运行过程中自己找不到启用DAC 的地方,链接的时候需要在服务器名称前面添加ADMIN:,如本机是ADMIN:WP-P ...
- Unity3D脚本中文系列教程(三)
http://dong2008hong.blog.163.com/blog/static/4696882720140302323886/ Unity3D脚本中文系列教程(二) 示,属性不被序列化或显示 ...
- SQL Server 2008空间数据应用系列三:SQL Server 2008空间数据类型
原文:SQL Server 2008空间数据应用系列三:SQL Server 2008空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server ...
- Deep Learning(深度学习)学习笔记整理系列之(三)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Jenkins系列之-—08 实现SQL脚本批量执行
公司内部推广DevOps,所有目前在维护阶段和开发阶段项目全部配置上了自动发布.采用Jenkins+SVN+ANT,之后批量执行SQL语句的实现提上日程 一.环境 Linux环境 安装ANT工具,且下 ...
随机推荐
- 正确处理类的复合关系------新标准c++程序设计
假设要编写一个小区养狗管理程序,该程序需要一个“主人”类,还需要一个“狗”类.狗是有主人的,主人也有狗.假定狗只有一个主人,但一个主人可以有最多10条狗.该如何处理“主人”类和“狗”类的关系呢?下面是 ...
- Xcode面板的使用
1.调出打包输出管理界面Xcode->Window->Organizer
- 如何解决diff: /../Podfile.lock: No such file or directory 的问题
1.问题描述 之前碰到过此类问题,原因是之前用了测试版本的pod,然后回归正式版本,导致找不到pod文件 diff: /../Podfile.lock: No such file or directo ...
- 第五篇 Python内置函数
内置函数 abs() delattr() hash() memoryview() set() all() dict() help() min() setattr() any() dir() ...
- 洛谷P2754 [CTSC1999]家园(最大流)
传送门 这题思路太强了……大佬们怎么想到的……我这菜鸡根本想不出来…… 先判断是否能到达,对每一艘飞船能到的地方用并查集合并一下,最后判断一下是否连通 然后考虑几天怎么判断,我们可以枚举. 每一个点表 ...
- [Swift实际操作]九、完整实例-(3)创建和安装开发证书、发布证书及开发证书配置文件、发布证书配置文件
本文将为你演示,如何创建开发证书和发布证书,以及其他辅助内容.首先打开浏览器,进入[苹果开发者网站]输入[Apple ID]和[密码],点击登录按钮,进入开发者管理后台. 点击左侧的[Membersh ...
- 【Guava】RateLimiter类
Guava官方文档-RateLimiter类 原文链接 作者:Dimitris Andreou 译者:魏嘉鹏 校对:方腾飞 RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可 ...
- 关于pip无法安装scrapy的问题
安装scrapy时如果出现下列问题: building ' twisted. test. raiser' extension error: Microsoft Visual C++ 14.0 is r ...
- 4.jQuery和DOM 对象之间的相互转换
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Macaca,Maven,MVC框架
Macaca:Macaca是阿里开源的一套完整的自动化测试解决方案.同时支持PC和移动端测试,支持的语言有JS,Java,Python. Maven:java,Maven项目对象模型(POM),可以通 ...