关于存储过程的问题

tesonic 2009-09-29 10:41:02
本人不会写存储过程,一般的语法都不太清楚。现在我要写个查询语句是一个表中的,不知道大家能不能帮忙改成存储过程的,还有就是如果改成存储过程时,我在页面中怎么能取得这个结果呢?
(最好是哪儿位好心人能给我一些学习的资料,我也不想总问大家)


--汇总查询全部信息
select tb3.*,(cast(tb3.年休假天数 as int)-cast(tb3.实休 as int)) as 剩余
from
(select distinct tb1.姓名,tb1.科室,tb1.年休假天数,tb2.*
from
(select * from ciq_Vacation) as tb1,
(select 员工编号,
sum(case when 休假种类='年假' then isnull(实际休假天数,计划休假天数) else 0 end) as 实休,
sum(case when 休假种类='病假' then isnull(实际休假天数,计划休假天数) else 0 end) as 病假,
sum(case when 休假种类='事假' then isnull(实际休假天数,计划休假天数) else 0 end) as 事假,
sum(case when 休假种类='产假' then isnull(实际休假天数,计划休假天数) else 0 end) as 产假,
sum(case when 休假种类='婚假' then isnull(实际休假天数,计划休假天数) else 0 end) as 婚假,
sum(case when 休假种类='丧假' then isnull(实际休假天数,计划休假天数) else 0 end) as 丧假,
sum(case when 休假种类='探望父母' then isnull(实际休假天数,计划休假天数) else 0 end) as 探望父母,
sum(case when 休假种类='探望配偶' then isnull(实际休假天数,计划休假天数) else 0 end) as 探望配偶,
sum(case when 休假种类='其他' then isnull(实际休假天数,计划休假天数) else 0 end) as 其他
from ciq_Vacation
group by 员工编号) as tb2
where tb1.员工编号=tb2.员工编号) tb3
order by tb3.员工编号
...全文
113 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
华夏小卒 2009-09-29
  • 打赏
  • 举报
回复

if object_id('log20090925')is not null drop table log20090925
go
create table log20090925( a int, b int,c int )
insert log20090925 select
1,3,4 union all select
1,2,2


-------------------------------------------------
if object_id('pro')is not null drop proc pro
go

create proc pro
(@b int )
as
select * from log20090925 where b=@b
go



exec pro 2 ---- 这里传入一个参数 ,找到列b=2的记录

a b c
----------- ----------- -----------
1 2 2

(1 行受影响)

ruby512 2009-09-29
  • 打赏
  • 举报
回复
CREATE PROC [ EDURE ] procedure_name
(
@parameter data_type inPUT (输入)
.......(多个参数用,隔开)
@parameter data_type OUTPUT (输出参数)
)
as
.............(SQL代码)
例:
CREATE PROC [ EDURE ] procedure_name
(@uiser_ID INT,
@USER_NAME VARCHAR(64)

AS
SELECT * FROM TB
WHER USER_ID=@uiser_ID
AND USER_NAME=@USER_NAME


TB为表 字段有: USER_ID,USER_name.....
tesonic 2009-09-29
  • 打赏
  • 举报
回复
那个参数的作用是什么啊?
还有as和go之间 就写我的sql代码就可以了?
那我如果想判断查询的条件,在哪儿里加if和else呢?
[Quote=引用 1 楼 js_szy 的回复:]
SQL codecreateproc pp---这里可以带参数as--select 语句go-------------insert tbexec pp 把结果放到表tb里
[/Quote]
华夏小卒 2009-09-29
  • 打赏
  • 举报
回复

create proc pp
---这里可以带参数
as
--select 语句
go


-------------
insert tb exec pp 把结果放到表tb里

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧