收录日期:2020/06/05 09:48:17 时间:2016/06/06 10:24:38 标签:基础类
已兩天了,實在不知我這個存諸過程錯在哪,請大俠幫忙看看,先謝了!
表:
CREATE TABLE [test2] (
[工號] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NOT NULL ,
[遲到] [numeric](10, 0) NULL ,
[曠工] [numeric](10, 0) NULL 
) ON [PRIMARY]
GO


CREATE TABLE [test3] (
[工號] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[姓名] [varchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
[全勤獎] [numeric](10, 0) NULL 
) ON [PRIMARY]
GO


插入數據:
insert into test2 select '1',5,3
insert into test3 select '1','測試',180
存諸過程:
CREATE PROCEDURE test6 
(
@a numeric(10,0)
)
as
select 工號,姓名, set@a=
case when (select top 1 遲到 from test2) >5 THEN 全勤獎-30 else 全勤獎 end 
,@a /30 as r from test3
GO
執行存諸過程後的錯誤提示:
Server: Msg 201, Level 16, State 4, Procedure test6, Line 0
Procedure 'test6' expects parameter '@a', which was not supplied.
我改用如下的方式,仍不行:
CREATE PROCEDURE test6 

select 工號,姓名, a1=
case when (select top 1 遲到 from test2) >5 THEN 全勤獎-30 else 全勤獎 end 
,a1 /30 as r from test3
GO
我實在想不出辦法了,在access中可以很輕松的實現類似的計算,難道在sql中真不能這樣實現不???
-----是这个意思吗?
select b.工號,b.姓名,case when a.[遲到]>5 then b.全勤獎-30 else b.全勤獎 end 
,case when a.[遲到]>5 then b.全勤獎-30 else b.全勤獎 end /30 as r from test2 a right join test3 b
on a.工號 = b.工號
是這個意思,因為這樣寫語句很多,所以我像access中的別名一樣,直接通過別名來計算,我試了,在查詢中不能直接用別名進行計算,所以我想用存諸過程是否可以實現
在access中:
    select a as b,b+1 as c from test 
這樣的方式是可以實現,但在sql中不知該怎樣實現
两种不同的数据库,应该有自己的特点
-- 
select a as b,b+1 as c from test 
在SQL中
要这样写
select a as b,a+1 as c from test
CREATE PROCEDURE test6 
(
@a numeric(10,0)
)
as
select 工號,姓名, 
(case when (select top 1 遲到 from test2) >5 THEN 全勤獎-30 else 全勤獎 end )/30 as r  from test3
GO

如何将C程序输出结果保存在一个文件里? debug中的R命令的问题。。。。。。。。。。 如何将C程序输出结果保存在一个文件里? 异常处理的问题! 如何获得一首mp3歌曲的标题,专辑名,歌手名信息? 如何将C程序输出结果保存在一个文件里? 如何将C程序输出结果保存在一个文件里? Apache和tomcat整合问题:如何很好的显示servlet? windows server 2003 装不上 SQL server 2000企业版 急,在线等,,简单的问题,大家快来呀!!!!! 我也建了一个VC的群。欢迎加入。 WIN32K,这是个什么病毒啊????连最新版的金山2003都识别不了!!!!帮忙啊>>!!! 今天买了本《算法1-4,c实现 english version》,有一起看的朋友么? 纵向表转横向表 java初学提问,送分 一个远程数据传输的问题 请问如何得到varbinary类型字段中的值? 怎么用jbuildre打包applet 参数问题? 为什么我不能使用onChang事件啊 公司任务!在线等待!!!! 急 怎样在servlet中得到PageContext对象 PageContext pageContext=????? 再现等 给定卷积核的卷积强度如何算出?小弟分少还望海涵 求助关于 储存过程! 怎样导入.mdf文件到SQL Server? 小弟今天刚考完2级c,还算顺利吧,多亏了各位大哥大姐的真诚相助,小弟今天大散分!! 请教各位大虾:怎样把开始菜单中的程序这一项删除? 谁会在WMA文件中加入弹窗口????就是播放WMA,或WMV 文件的时候,会自动弹出某个网址?? 递归问题 关于2003 的 RPC漏洞