【SQL开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了SQL开源代码-OAoffice.sql的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
create database OAoffice
GO
USE OAoffice
--职员信息表
drop table Staff
create table Staff
(
s_id int identity(20071001,1), --员工ID号
s_password varchar(16), --密码
s_name varchar(50), --
s_sex varchar(10), --性别
s_nation varchar(20), --民族
s_birthday datetime, --出生日期
s_collage varchar(100), --毕业
s_edu varchar(50), --学历
s_phone varchar(15), --固定电话
s_mobile varchar(15), --移动电话
s_email varchar(50), --邮箱
s_department varchar(50), --部门
s_departmentid int, --部门ID号
s_position varchar(50), --职位
s_positionid int, --职位ID号
s_status int default(1), --职员状态,1代表在职,0代表离职
s_registerDate datetime, --入职时间
r_name varchar(50) default('0') --角色的名称,0代表普通员工,1代表管理员
)
--查询员工信息(
通信录 等)
drop proc sel_staff
create proc sel_staff
as
select * from staff order by s_name
--添加员工信息
drop proc add_staff
create proc add_staff
@s_name varchar(50), --
@s_password varchar(16), --密码
@s_sex varchar(10), --性别
@s_nation varchar(20), --民族
@s_birthday datetime, --出生日期
@s_collage varchar(100), --毕业
@s_edu varchar(50), --学历
@s_phone varchar(15), --固定电话
@s_mobile varchar(15), --移动电话
@s_email varchar(50), --邮箱
@s_department varchar(50), --部门
@s_departmentid int, --部门ID号
@s_position varchar(50), --职位
@s_positionid int, --职位ID
@s_registerDate datetime --入职时间
as
insert into staff (s_password,s_name, s_sex, s_nation, s_birthday, s_collage, s_edu, s_phone, s_mobile, s_email, s_department, s_departmentid, s_position, s_positionid, s_registerDate) values (@s_password,@s_name, @s_sex, @s_nation, @s_birthday, @s_collage, @s_edu, @s_phone, @s_mobile, @s_email, @s_department, @s_departmentid, @s_position, @s_positionid, @s_registerDate)
select scope_identity()
--更新员工信息
drop proc update_staff
create proc update_staff
@s_id int,
@s_name varchar(50), --
@s_sex varchar(10), --性别
@s_nation varchar(20), --民族
@s_birthday datetime, --出生日期
@s_collage varchar(100), --
毕业 @s_edu varchar(50), --学历
@s_phone varchar(15), --固定电话
@s_mobile varchar(15), --移动电话
@s_email varchar(50), --邮箱
@s_department varchar(50), --部门
@s_departmentid int, --部门ID号
@s_position varchar(50), --职位
@s_positionid int, --职位ID号
@s_status int, --职员状态,1代表在职,0代表离职
@r_name varchar(50) --角色的名称,0代表普通员工,1代表管理员
as
update staff set
s_name=@s_name , --
s_sex=@s_sex , --性别
s_nation=@s_nation, --民族
s_birthday=@s_birthday, --出生日期
s_collage=@s_collage, --毕业
s_edu=@s_edu, --学历
s_phone=@s_phone, --固定电话
s_mobile=@s_mobile, --移动电话
s_email=@s_email, --邮箱
s_department=@s_department, --部门
s_departmentid=@s_departmentid, --部门ID号
s_position=@s_position, --职位
s_positionid=@s_positionid, --职位ID号
s_status=@s_status, --职员状态,1代表在职,0代表离职
r_name=@r_name where s_id=@s_id
--删除用户信息
drop proc del_staff
create proc del_staff
@s_id int
as
delete from staff where s_id=@s_id
delete from Send_messages where s_Sendid=@s_id
delete from Attendance where s_id=@s_id
delete from vacation where s_id=@s_id
----判断旧密码是否输入正确
--create proc select_oldpassword
--@s_password varchar(16)
--as
--select
--重设密码
create proc set_PassWord
@s_id int,
@s_password varchar(16)
as
update staff set s_password=@s_pass
word where s_id=@s_id
--修改密码
create proc update_password
@s_id int,
@s_password varchar(16)
as
update staff set s_password=@s_password where s_id=@s_id
--根据用户选择的条件查询用户信息
--(1)员工编号
drop proc Sel_staff_id
create proc Sel_staff_id
@s_id varchar(50)
as
select * from staff where Cast(s_id as varchar(50)) like '%'+@s_id+'%'
go
--(2)员工
drop proc Sel_Staff_Name
create proc Sel_Staff_Name
@s_name varchar(50)
as
select * from Staff where s_name like '%'+@s_name+'%'
go
--(3)部门的名称
drop proc Sel_Staff_Department
create proc Sel_Staff_Department
@s_department varch