没有合适的资源?快使用搜索试试~ 我知道了~
笔试数据库1.doc
0 下载量 70 浏览量
2023-09-01
23:13:48
上传
评论
收藏 74KB DOC 举报
温馨提示
试读
13页
笔试数据库1.doc
资源推荐
资源详情
资源评论
就业强化测试
1. 共享锁与排它锁的区别
共享锁【S 锁】
又称读锁,若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A 但不能修改 A,其他
事务只能再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁。这保证了其他事务
可以读 A,但在 T 释放 A 上的 S 锁之前不能对 A 做任何修改。
排他锁【X 锁】
又称写锁。若事务 T 对数据对象 A 加上 X 锁,事务 T 可以读 A 也可以修改 A,其他事
务不能再对 A 加任何锁,直到 T 释放 A 上的锁。这保证了其他事务在 T 释放 A 上的锁
之前不能再读取和修改 A。
2. 触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
触发器触发时机可分为:before|after。触发的顺序为:before 触发器,约束检查,更新表,after 触发器
行级触发器是目标表(触发器所在的表)中的每一行数据发生变化都激发一次触发器,创建时候添加子句 for each row,而语
句级触发器对应一个语句只执行一次,比如在批量修改、删除时候,语句触发器只执行一次,行级触发器触发多次。
行级触发器 |语句级触发器
--------------------------------|----------------------------
每一行触发 |不管影响多少行,只触发一次..
若事件没有产生更改影响,不触发 |不论是否更改了任何行,都触发
after 行触发器锁定数据行 |并不锁定行
3. 有表 A(fa,fb,fc,fd)和 B(fa,fb,fc,fd) 令其连接(A.fa=B.fa and A.fb=B.fb) 通过更新 A 表的 fc
更新 B 表的 fc 写出 SQL 语句。
思路:
对表 A 建一个触发器,当更新 A 时候,同时更新满足 A.fa=B.fa and A.fb=B.fb 要的 B 中 fc 列的值
实现:
create table A(
fa int,
fb int,
fc int,
fd int
)
create table B(
fa int,
fb int,
fc int,
fd int
)
insert into A values (1,1,1,1);
insert into A values (2,2,2,2);
insert into A values (3,3,3,3);
insert into B values (1,1,3100,90);
insert into B values (2,2,3000,2);
insert into B values (3,3,9000,3);
create trigger a2b on A for update
as
declare @tempa int,@tempb int,@tempc int;
if (exists(select * from inserted x inner join B y on x.fa=y.fa and x.fb=y.fb))
begin
select @tempa=fa,@tempb=fb,@tempc=fc from inserted;
update B set fc = @tempc where fa = @tempa and fb = @tempb;
end
update A set fc = 345 where fa = 1;
update A set fc = 9090 where fa = 2;
select * from A;
select * from B;
drop trigger a2b;
drop table A;
drop table B;
4. 写一个自动编号的存储过程如:200408010001?
1、测试数据
create table xx(
id nvarchar(13),
xxx nvarchar(10)
)
2、这里使用一个自定义函数函数
create view v_getdate as select dt=convert(varchar,getdate(),012)
create function IdGenerator()
returns Varchar(13)
As
Begin
Declare @id nvarchar(10),@dt varchar(8)
select @dt = dt from v_getdate
select @id = id from xx;
IF @id Is null
Set @id=@dt+'0001'
Else
Set @id=@dt+Right('0000'+Cast(Cast(Right(@id,3) As Int)+1 As Varchar),4)
return @id
End
3、调用
insert into xx values (dbo.IdGenerator(),'9090opop');
5. union all 和 union 的区别?
union 取并集后去掉重复,union all 取并集后不去重复
6. 请问在 SQL2000 中怎么区分登入,用户,角色,并用例子举例说明。再问:
(1)登入 ID 是不是就是用户名?(当我创建了一个登入, 我在点击登入所对应的数据,实例中的用户一栏
看到登入 ID 与用户名一致)
(2)一个登入 ID 是不是只能对应一个用户?
1、登录 ID 仅能使您连接到 SQLServer 实例。
登录帐户映射到您有权访问的任何数据库中的用户
例如 sa 是一个登录,那么他在每个数据库中用户名叫做 dbo
角色如:public/db_owner/db_datareader/db_datawriter 等
只有给用户赋予角色,该用户才有相应的操作数据库的权限
角色:完成特定的、与服务器相关的管理任务所需的权限,一个用户可以属于多个角色。
2、同一数据库中,一个登录只能对应一个用户,一个登录,在不同的数据库中,允许对应不同的用户
7. a 部门表 b 员工表
a 表字段(
id --部门编号
剩余12页未读,继续阅读
资源评论
jane9872
- 粉丝: 106
- 资源: 7787
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CNC转换器(信诚)CNC转换器(信诚)
- CNC转换器(信诚)CNC转换器(信诚)
- FaceFusionSharp OnnxRuntime版 视频换脸.rar
- 上市公司澄清公告数据集.xlsx
- 基于Matlab实现的基于车辆运动学,实现低速度下的MPC轨迹跟踪(高分项目)
- 安卓Android社团管理App+源代码+文档说明+数据库(高分项目).zip
- 基于安卓Android的社团管理App+sql数据库(高分毕设项目).zip
- 通用性I2C接口的应用之驱动SHT20(N32G45XVL-STB)
- 基于Python+BERT+词典开发的医药知识图谱自动问答系统实现+源代码+文档说明+使用教程+数据.zip
- 基于yolov8对6种水果数据集的目标检测实现【数据+代码+训练好的权重】
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功