SQL存储过程实例

一个关于工资的储存过程... 一个关于工资的储存过程 展开
 我来答
hit_lubin
推荐于2016-01-30 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2015万
展开全部
楼上的是ORACLE的存储过程语法,SQLSERVER的语法略有不同。
举个例子:
员工表(tb_employee)字段如下 emp_id 员工编号, emp_nm 员工姓名, dept_id 所属部门编号, salary 工资收入
编写存储过程查询某部门员工的工资总和。
那么分析可以知道,这个存储过程的输入参数就是部门编号
create procedure sp_sum_salary
@dept_id varchar(20)
as
--------直接以查询语句输出
select sum(salary)
from tb_employee
where dept_id = @dept_id
追问
能详细点吗?  我SQL很差
追答
关键看你要的是什么样的功能
我只是举了一个很简单的例子。
我帮您解释一下吧,然后看看您需要的什么样的情况,自己可以做做看。
create procedure sp_sum_salary ---------存储过程名字
@dept_id varchar(20) -----------定义参数和类型,如果多个参数使用逗号隔开
as ---------这个是固定格式,套用就行了
--------下边是存储过程的具体程序,具体程序就是你自己要处理的程序段了。
-------可能常用到的有几种情况
-----1.声明变量 declare @变量名称 变量类型 声明多个使用多个declare
-----2.给变量赋值 set @变量名称 = 值
-----3.通过select返回结果给变量(返回结果必须唯一才行) select @变量 = 字段 from 表 where ...
-----4.调用其他存储过程 exec 存储过程 参数1, 参数2, ...
-----5.判断语句 IF 条件
BEGIN

END
暂时能想到的也就这么多,根据你的实际需要,你套用格式,就可以。
不过内部的逻辑,SQL语句,需要根据你的需求才知道要写什么。
select sum(salary)
from tb_employee
where dept_id = @dept_id
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
killertab
2012-09-24
知道答主
回答量:46
采纳率:0%
帮助的人:20万
展开全部
楼下的太麻烦了吧。emp员工表,输入任何部门号,返回部门的总工资,把总工资和部门好,分别放进emp2表里。
编写存储过程查询某部门员工的工资总和
create or replace procedure my_text(v_deptno number)
is
cursor c is select* from emp;
v1 number:=0;
begin
for a in c loop
if(a.deptno=v_deptno) then
v1:=v1+a.sal;
end if;
end loop;
insert into emp2 values(v1,v_deptno);
end;
是不是很吊啊?楼主?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序那点事
2011-06-23 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1331万
展开全部
你是要干啥 你需求呢
追问
把员工表中的工资总和,用带参数的存储过程做
追答
create or replace procedure P_TEST(strParam1 in varchar2,
strCount out number,
strErrCode out varchar2) is
strDBCount NUMBER; --工资总和
begin
select sum(字段1) into strDBCount from 表 where 条件
commit;
strDBCount := strDBCount ;
--错误处理部分
EXCEPTION
WHEN OTHERS THEN
strErrCode := '201'; --数据库操作发生错误
ROLLBACK;
RETURN;

end P_TEST;

----只是一个框架 要改 得看项目实际需求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式