基于SqlServer的数据库编程系统函数、存储过程、触发器的使用

deptmemo varchar(40),

PRIMARY KEY(departmentID)

)

1)Employees应包括的属性有:职员代码staffid、卡号idcard、姓名realname、性别esex、生日birthday、婚姻状况marriage、所属部门代码departmentID、职别Position、基本工资Salary。

create table Employees

(staffid char(9),

idcard smallint,

realname varchar(20),

esex CHAR(2),

birthday DATE,

marriage CHAR(4),

departmentID smallint,

Position CHAR(10),

Salary SMALLMONEY,

PRIMARY KEY (staffid),

FOREIGN KEY(departmentID)references Department(departmentID)

)

3)在Employees表中建立对birthday按降序,marriage按升序建立索引;对idcard建立唯一索引

Create index IX_Employees_birthday ON Employees(birthday DESC)–birthday按降序

Create index IX_Employees_marriage ON Employees(marriage)–marriage按升序(默认情况下是升序asc)

Create unique index IX_Employees_idcard ON Employees(idcard)–对idcard建立唯一索引

7.2 使用函数实现以下问题:

(1)计算9的4次方值。

select POWER(9,4)

在这里插入图片描述

(2)保留浮点值3.14159小数点后面2位。

SELECT CONVERT(DECIMAL(3,2),3.14159)

在这里插入图片描述

(3)分别计算字符串“Hello World!”和“University”的长度。

select len(‘Hello World!’),len(‘University’)

在这里插入图片描述

(4)从字符串“Nice to meet you!”中获取子字符串“meet”。

select SUBSTRING(‘Nice to meet you!’,9,4)

在这里插入图片描述

(5)除去字符串“h e l l o”中的空格。

SELECT replace(‘h e l l o’,’ ‘,’')–第二个参数要空格

在这里插入图片描述

(6)将字符串“SQLServer”逆序输出。

select REVERSE(‘SQLServer’)

在这里插入图片描述

(7)在字符串“SQLServerSQLServer”中,从第4个字母开始查找字母Q第一次出现的位置。

SELECT CHARINDEX(‘Q’,‘SQLServerSQLServer’,4)

在这里插入图片描述

(8)计算当前日期是一年的第几天。

select DATENAME(DAYOFYEAR,GETDATE())–GETDATE()获取当前系统日期

在这里插入图片描述

运行结果:

(9)计算当前日期是一周中的第几个工作日。

select DATENAME(WEEKDAY,GETDATE())

在这里插入图片描述

(10)计算“1929-02-14”与当前日期之间相差的年份。

SELECT DATEDIFF(YEAR,‘1929-02-14’,GETDATE())

在这里插入图片描述

*(11)显示到当前日期和时间为止试图登录SQL Server的次数。

SELECT GETDATE() AS 当前日期和时间,@@CONNECTIONS as 试图登录SQLServer的次数

在这里插入图片描述

注:*为思考题,需查阅资料

第二部分:

7.3 创建触发器

对数据库Company中的Employees表的插入操作创建触发器:如果插入的性别esex为“女”时,则基本工资增加100元。

Sqlserver 数据中:

CREATE TRIGGER trigger_name ON Employees

FOR INSERT

as

declare e cursor for select staffid,esex from inserted

declare @staffid char(9)

declare @esex CHAR(2)

OPEN e

fetch NEXT FROM e into @staffid,@esex

WHILE @@FETCH_STATUS=0

BEGIN

IF @esex = ‘女’

update Employees set Salary=Salary+100 where @staffid=staffid

fetch next from e into @staffid,@esex

end

close e

DEALLOCATE e

插入的数据:

INSERT INTO Department VALUES(1,‘支部委员会’,‘党的基层委员会’)

INSERT INTO Employees VALUES(1,1143,‘罗兆’,‘男’,‘1995-12-06’,‘未婚’,1,‘支部副书记’,3000)

INSERT INTO Employees VALUES(2,1142,‘刘艳’,‘女’,‘1995-12-06’,‘未婚’,1,‘支部书记’,3000)

执行效果:

在这里插入图片描述

7.4 创建存储过程

创建一个添加职员记录的存储过程。

use Company

go

create proc addEmp

(

@staffid char(9),

@idcard smallint,

@realname varchar(20),

@esex CHAR(2),

@birthday DATE,

@marriage CHAR(4),

@departmentID smallint,

@Position CHAR(10),

@Salary SMALLMONEY

)

AS

BEIGN

insert into Employees

values(@staffid ,

@idcard ,

@realname ,

@esex ,

@birthday ,

@marriage ,

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数同学面临毕业设计项目选题时,很多人都会感到无从下手,尤其是对于计算机专业的学生来说,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。

因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。
img
img
img

既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
img

2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。**
[外链图片转存中…(img-OpHrE6IZ-1712569486625)]
[外链图片转存中…(img-H1tWGVCq-1712569486626)]
[外链图片转存中…(img-3ELfX9YE-1712569486626)]

既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!

由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频

如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
[外链图片转存中…(img-oaWOkaTL-1712569486626)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值