创建一个存储过程,以员工号为参数,输出该员工的工资。(急)

如题所述

CREATE OR REPLACE PROCEDURE 存储过程名(in_id IN VARCHAR2,out_wage OUT VARCHAR2)

AS BEGIN SELECT wage(此为你数据库表中员工工资字段名) into out_wage FROM 员工工资表名 WHERE id(此为你数据库表中员工工号字段名)=in_id;

END 存数过程名;in_id为输入的员工工号;out_wage为查询后输出地工资。在此例中,它们为VARCHAR2,设置的为NUMBER类型,要相应做修改。

扩展资料

这类语言主要提供以下功能,让用户可以设计出符合应用需求的程序:

1、变量说明

2、ANSI(美国国家标准化组织)兼容的SQL命令(如Select,Update….)

3、一般流程控制命令(if…else…、while….)

4、内部函数

种类

1.系统存储过程

以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。

2.本地存储过程

用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。

3.临时存储过程

分为两种存储过程:

一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;

二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。

4.远程存储过程

在SQL Server2005中,远程存储过程(Remote Stored Procedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。

5扩展存储过程

扩展存储过程(Extended Stored Procedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。

参考资料来源:百度百科-存储过程



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
create proc GetEmployeeWages
@employeeID
as
begin
--你的查询语句 例如:
select Wages from EmployeeMsg where EmployeeID=@employeeID
end

--exec GetEmployeeWages 12

有不明白的,可以给我留言本回答被网友采纳
第2个回答  2019-12-31
create
procedure
wagesum(@deptno
char(10))
as
select
@deptno,count(wage)
as
工资总和
from
staff
where
deptno=@deptno
调用存储过程
declare
@t
char(10)
set
@t=‘部门号'
这个部门号你自己输入,看你想查哪个部门的工资总和
exec
wagesum
@t
具体你再去调试看看,应该就是这个样子
第3个回答  2010-11-15
CREATE OR REPLACE PROCEDURE 存储过程名(
in_id IN VARCHAR2,
out_wage OUT VARCHAR2)
AS
BEGIN
SELECT wage(此为你数据库表中员工工资字段名) into out_wage FROM 员工工资表名 WHERE id(此为你数据库表中员工工号字段名)=in_id;
END 存数过程名;
PS:in_id为输入的员工工号;out_wage为查询后输出地工资。在此例中,它们的为VARCHAR2,也可能你们设置的为NUMBER类型,请相应修改。本回答被网友采纳