存储过程 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)
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)
相关文章推荐
- Win7下防火墙设置问题导致SQL Serv…
- SQL SERVER:Convert函数,日…
- SQL Server导出导入数据方法
- sql server复制需要有实际的服务器…
- sql 调优 工具 准备
- DataSet 与SqlDataAdapter之…
- SQL+Web 无法加载驱动
- WIN7下无法使用sqlplus &quot…
- 如何安装SQL Server 200…
- SQL Server连接中的四个最常…
- sql——存储过程&触发器(2/3)
- oralce sql去重
- SQL Server 2000服务器组件在此操…
- Native SQL 整理
- pl/sql   初使用
- jdbc 调用 sql ser…
- sql tunning advisor的使用
- 如何清理sql server数据库日志
- SQLPlus Set 详解
- Excel数据导入Sql Server 2000的方…