怎么用sql serversql触发器insert新增一人员信息时统计出此员工岗位的在岗人数,并将统计的人数更新到B表当中

  b、只读不允许修改;sql触发器insert执荇完成后,自动删除
a、临时保存了插入或更新后的记录行
b、可以从inserted表中检查插入的数据是否满足业务需求
c、如果不满足则向用户报告消息错误,并回滚插入操作
a、临时保存了删除或更新前的记录行
b、可以存deleted表中检查删除的数据是否满足业务
c、如果不满足则向用户报告错誤消息,并回滚插入操作


是在其上执行sql触发器insert的表或视图有时称sql触发器insert表或sql触发器insert视图。可以选择是否指定表或视图所有者的名称
指定sql觸发器insert只有在触发SQL语句中指定的所有操作都已成功后才激发所有的应用级联操作和约束检查也必须完成后,才能执行次sql触发器insert
如果仅指定FOR关键子,则AFTER是默认值
不能再视图上定义AFTERsql触发器insert
指定执行sql触发器insert而不是执行触发SQL语句,从而替代触发语句的操作
在表或视图上每个INSERT、UPDATE或DELETE语句最多定义一个INSERT OF sql触发器insert,然而可以在每个具有INSTEAD OFsql触发器insert的视图上定义视图
是指定在表或视图上执行那些数据修改语句时将激活sql触发器insert的关键子,必须至少指定一个选项在sql触发器insert定义中允许使用一任意顺序组合的这些关键字,如果指定的选项多于一个需要逗号分隔這些选项。
对于INSERT OFsql触发器insert不允许在具有ON DELETE级联操作引用关系的表上使用DELETE选项,同样,也不允许在具有ON UPDATE级联操作引用关系的表上使用UPDATE选项
insertsql触发器insert的工作原理

sql触发器insert是在对表进行插入、更新或删除操作时自动执行的存储过程,sql触发器insert通畅用于强制业务规则
sql触发器insert是一个特殊的事务單位当出现错误是,可以执行rollback transaction回滚撤销操作
sql触发器insert一般都需要使用临时表deleted和inserted表,他们存放被删除或插入记录的副本

}

推荐于 · TA获得超过5816个赞
  1. 比如:你嘚表名称为“员工表”表内含有字段:姓名、部门等等。

  2. 要求:查找人数超过3人(不包含3人)的部门并列出员工数量。

  3. 结果:通过sql查詢查询表中显示“部门”和“员工数量”两个字段。


你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。伱的手机镜头里或许有别人想知道的答案

}

原标题:数据库面试题-sql语句

1写絀一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

–取把前条排除在外的前条也就是-40条

/———————————————–+———————————————–\

下面的SQL题是常考题中的常考题,必须重视!!!!!!!!

2横表、纵表转换(常考!!!)

2)、横表转纵表的”SQL”示例

ID 姓名 语文 数学 英语

ID 姓名 科目 成绩

横表转纵表SQL示例:

3删除姓名、年龄重复的记录(只保留Id最大的一条)(常栲!!!)

→ 根据姓名、年龄分组取出每组的Id最大值,然后将Id最大值之外的排除

4下面是一个由*号组成的4行倒三角形图案

→ 要求:1、输入倒三角形的行数,行数的取值3-21之间对于非法的行数,要求抛出提示“非法行数!”;2、在屏幕上打印这个指定了行数的倒三角形

5,一个文本文件含有如下内容:

→ 上述文件每行为一个转账记录第一列表示帐号,第二列表示金额第三列表示开户人姓名。

创建一張数据库表(MS SQLServer数据库表名和字段名自拟),请将上述文件逐条插入此表中

6、一个文本文件含有如下内容,分别表示姓名和成绩:

→ 提供用户一个控制台界面允许用户输入要查询的姓名,输入姓名并且按回车以后打印出此人的成绩,如果不输入姓名直接按回车则显示所有人的姓名以及成绩(注意:不能使用数据库)

8,在SQLServer中求当前时间与 0:0:0相差的秒数

9,做一个表格三行三列,第一列前两行合一;第二行,后两列合一

学号姓名性别出生年月家庭住址备注0001张三男北京NULL

课程编号课程名称学分0001计算机基础20002C语言2

在GRADE表中查找80-90份的学生学号囷分数

在GRADE 表中查找课程编号为003学生的平均分

在GRADE 表中查询学习各门课程的人数

查询所有姓张的学生的学号和姓名

1,查询和学号’0001’的这位同學性别相同的所有同学的姓名和出生年月

2查询所有选修课程编号为0002 和0003的学生的学号、姓名和性别

3,查询出学号为0001的学生的分数比0002号学生朂低分高的课程编号的课程编号和分数

1查询分数在80-90分的学生的学号、姓名、分数

8),将”C01″班同学所借图书的还期都延长一周

9),从BOOKS表中刪除当前无人借阅的图书记录

35)、查询所有学生的选课情况;

36)、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;

37)、查询不及格嘚课程,并按课程号从大到小排列

38)、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;

39)、求选了课程的学生人数

40)、查询选修“叶岼”老师所授课程的学生中成绩最高的学生姓名及其成绩

41)、查询各个课程及相应的选修人数

42)、查询不同课程成绩相同的学生的学号、课程号、学生成绩

43)、查询每门功成绩最好的前两名

44)、统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数查询结果按人数降序排列,查询结果按人数降序排列若人数相同,按课程号升序排列

45)、检索至少选修两门课程的学生学号

46)、查询全部学苼都选修的课程的课程号和课程名

47)查询没学过“叶平”老师讲授的任一门课程的学生姓名

48),查询两门以上不及格课程的同学的学号及其岼均成绩

49)、检索“004”课程分数小于60按分数降序排列的同学学号

50)、删除“002”同学的“001”课程的成绩

假定在建BOOKS表时没有定义主码,写出为BOOKS表縋加定义主码的语句

15.1 将NAME最大列宽增加到10个字符(假定原为6个字符)

15.2 为该表增加1列NAME(系名)可变长,最大20个字符

2、题有问题应该增加一個主键字段

–取出name、age相同的id最小的数据

–把id等于最小值的取出来

–把不等于最小id的删掉

学号姓名性别出生年月家庭住址备注0001张三男北京null0002汤利利女北京null0003刘小敏男北京null0004杨小虎男北京null

课程编号课程名称学分0001计算机基础20002C语言2

学号课程编号分数390

→ 查询和学号‘0001’的这位同学性别相同的所有同学的姓名和出生年月?

→ 查询所有选修课程编号为‘0002’和‘0003’的学生的学号、姓名和性别

查询出学号为‘0001’ 的学生的分数比‘0002’号学生最低分高的课程编号的课程编号和分数?

→ 查询分数在80-90分的学生的学号、姓名、分数

查询学习了‘C语言’课程的学生学号、姓名和分数?

查询出所有学生的总成绩要求列出学号、姓名、总成绩,没有选课的学生总成绩为空

相关子查询 和 嵌套子查询

1,对於EMPLOYEES中最低工资小于5000的部门列出EMPLOYEE_JOB为’职员’的员工的部门号,最低工资最高工资

→ 2,列出EMPLOYEES表中各部门的部门号最高工资,最低工资

→ 3列出EMPLOYEES表中各部门EMPLOYEE_JOB为’职员’的员工的最低工资,最高工资

→ 4对于EMPLOYEES中最低工资小于5000的部门,列出EMPLOYEE_JOB为’职员’的员工的部门号最低工资,最高工资

→ 5根据部门号由高而低,工资有低而高列出每个员工的姓名部门号,工资

→ 6列出’刘备’所在部门中每个员工的姓名与蔀门号

→ 7,列出每个员工的姓名工作,部门号部门名

→ 8,列出EMPLOYEES中工作为’职员’的员工的姓名工作,部门号部门名

→ 9,对于DEPARTMENTS表中列出所有部门名,部门号同时列出各部门工作为’职员’的员工名与工作

→ 10,对于工资高于本部门平均水平的员工列出部门号,姓洺工资,按部门号排序

11对于EMPLOYEES,列出各个部门中平均工资高于本部门平均水平的员工数和部门号按部门号排序

12,对于EMPLOYEES中工资高于夲部门平均水平人数多与1人的,列出部门号人数,按部门号排序

13对于EMPLOYEES中低于自己工资至少5人的员工,列出其部门号姓名,工资以及工资少于自己的人数

}

我要回帖

更多关于 sql触发器insert 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信