您的位置:首页 > 数据库

存储过程 sql sever

2013-02-21 18:28 190 查看
1、创建一个存储过程,存储各部门的总工资与平均工资及部门编号。-------------------

create procedure sum_sal

as

select sum(salary) sum_sal,avg(salary) avg_sal,dept_id

from employee

group by dept_id

exec sum_sal

-- 2、创建一个存储过程,以员工姓名为参数,输入姓名后显示某人信息(模糊查询).-----------

create procedure emp_name

@name varchar(20)

as

select * from employee

where emp_fname+emp_lname like '%@name%'

exec emp_name 'a'

-- 3、创建一个存储过程,能够输出最高工资员工姓名。----------------------------------

create procedure max_sal

@maxsa decimal(20,3) output

as

select @maxsa = max(salary)

from employee

--分开两部分执行--

declare @maxsa decimal(20,3)

exec max_sal @maxsa output

print @maxsa

drop proc max_sal

-- 4、创建一个存储过程,以部门编号为参数,输入部门编号能够输出这个部门所有员工的信息。----

create procedure proemp_id

@dept_id int

as

select * from employee

where emp_id = @dept_id

exec proemp_id '100'

drop proc proemp_id

-- 5、创建一个存储过程,以部门名为参数,输入部门名能够输出这个部门经理的个人信息。------

create procedure prodept_head

@dept_id int

as

select e.* from employee e,department d

where e.dept_id=d.dept_id

and e.dept_id=@dept_id

and e.emp_id=d.dept_head_id

exec prodept_head '1001'

drop proc prodept_head

-- 6、创建一个存储过程,要求输入一个年份,返回在该年出生的员工所有信息。---------------

use demo

create procedure proc_birthday

@year varchar(4)

as

select * from employee

where year(birth_date)=@year --'1952'

exec proc_birthday '1953'

-- 7、创建一个存储过程输入员工编号和部门能够返回员工姓名和性别和薪金------------------

create procedure eee

@emp_id int

as

select emp_id,emp_fname+' '+emp_lname ,sex,salary

from employee

where emp_id=@emp_id

exec eee '102'

drop proc eee

--
8.求100号部门女员工的最高工资和最小工资是多少。----------------------------------

create proc proc_sal

@max_sal decimal(20,3) output,

@min_sal decimal(20,3) output

as

select @max_sal=max(salary),@min_sal=min(salary)

from employee

where dept_id=100

and sex='f'

--order by salary

--执行

declare

@max_sal decimal(20,3),

@min_sal decimal(20,3)

exec proc_sal @max_sal output,@min_sal output

print '最高工资:'+convert(varchar(10),@max_sal)+'
'+'最低工资:'+convert(varchar(10),@min_sal)

--print @min_sal

--字符串的转换:CONVERT(varchar(10),@stuid)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: