本人新手,还不会写存储过程,只会写简单的查询语句。我想把这些查询语句写进存储过程然后调用它执行

比如:1,列出至少有一个员工的所有部门。2.列出薪金比“SMITH”多的所有员工。1,selectdeptno,dnamefromdeptwheredeptnoin(se... 比如:
1,列出至少有一个员工的所有部门。
2.列出薪金比“SMITH”多的所有员工。
1, select deptno,dname from dept where deptno in (select deptno from emp);
2, select ename,sal from emp where sal>(select sal from emp where ename ='SMITH');
这两条语句写进存储过程然后调用执行怎么办,有帮忙的朋友请帮我写出详细过程,本人感谢感谢。。
展开
 我来答
jianwenh
2011-02-15 · TA获得超过333个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:340万
展开全部
大哥,返回数据值,是用自定义函数实现
1\
CREATE FUNCTION dbo.FN_dept()
RETURNS @result TABLE(deptno varchar(10),dname varchar(20))
AS
BEGIN
INSERT INTO @result select deptno,dname from dept where deptno in (select deptno from emp)
RETURN
END
--使用SELECT * from dbo.FN_dept()
2\
CREATE FUNCTION dbo.FN_emp(@emp_id int)
RETURNS TABLE
AS
RETURN (select ename,sal from emp where sal>(select sal from emp where ename =@emp_id)
--使用SELECT * from dbo.FN_emp(123)

存储过程最好不要用来返回数据值,只是用来返回成功\失败的ID,或者简单的参数传递值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
壹寰(深圳)科技文化有限公司
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。更多详尽准确的信息可以找壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢复、... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
珊瑚海的双鱼
2011-02-15 · TA获得超过595个赞
知道小有建树答主
回答量:441
采纳率:0%
帮助的人:557万
展开全部
存储过程不过是SQL语句的组合函数,复杂的存储过程里面包含很多逻辑判断;存储过程又分有参数和没参数的;像你说的存储过程,如下:
在查询分析器中
create proc showData --存储过程名字
(
@UserName varchar(50)
)
as
select deptno,dname from dept where deptno in (select deptno from emp);
select ename,sal from emp where sal>(select sal from emp where ename =@UserName);

调用的时候:
exec showData 'SMITH'

我说的调用是在查询分析器中;在程序中调用,要分具体的编程语言,.net java php 各不相同吧, 但大体思路是一样的,你再查查;
祝你好运
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-02-15
展开全部
基本同意一楼的写法,但是这种返回2个查询结果的存储过程在程序里不是很好处理,我觉得这个存储过程在查询分析器里执行比较合适!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云计算懂管理的小司
2011-02-15 · TA获得超过1146个赞
知道小有建树答主
回答量:756
采纳率:100%
帮助的人:445万
展开全部
简单的查询语句干嘛要写存储过程啊。你直接在查询分析器里执行这两条SQL不就行了么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wind12355
2011-02-15
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
create or replace procedure pro1 is
begin
select deptno,dname from dept where deptno in (select deptno from emp);
select ename,sal from emp where sal>(select sal from emp where ename ='SMITH');
end pro1;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式