在SQL中写个函数,急

iamclb 2003-09-11 02:34:24
在数据库中定义一个函数checkstatename,有一订单表indent中有一个checkstadeid子段,关联到一个审核状态表,可以是审核通过,审核拒绝,未审核三种状态。
一个订单又多人参加审核,只有全部人员审核通过才返回审核通过,这个函数怎么写?急!
...全文
55 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjw800614 2003-09-11
  • 打赏
  • 举报
回复
/*
函数功能:查询并且返回当前的审核状态
返回值 : tinyint
-1 通过审核
1 未通过审核
0 未审核
*/
CREAET FUNCTION fn_GetStatus(@ID int)
RETURNS TINGINT
AS

BEGIN
DECLARE @Status TINYINT
DECLARE @Count INT
--查找状态的的值
SELECT @Status=SUM(
CASE checkstadeid
WHEN '审核拒绝' TEHN 0
WHEN '审核通过' THEN 1
ELSE -1000 --此时的赋值,可以是 X
END )
FROM indent WHERE 主键=@ID
SELECT @COUNT=COUNT(*) FROM indent WHERE 主键=@ID

--判断状态的,并进行设置
IF @Status=@Count --全部通过
@Status=-1
ELSE
@Status=1

RETURN @Status
END

aierong 2003-09-11
  • 打赏
  • 举报
回复
create function checkstatename(@id varchar(1000))
returns varchar(100) as
begin
declare @flag varchar(100)
select * from 状态表 where checkstadeid=@id and 审核状态='通过'
if @@rowcount>0
select @flag='通过'
else
select @flag='未通过'
return @flag
end
niukl 2003-09-11
  • 打赏
  • 举报
回复
回复人: txlicenhe(马可&不做技术高手) ( ) 信誉:100 2003-09-11 14:41:00 得分:0


create function checkstatename (@checkstateid varchar(10))
returns bit
as
begin
if exists(select * from 审核状态表 where checkstateid =@checkstateid
and 状态 in ('审核拒绝','未审核') )
Return(0)
Else
Return(1)
end
Go

/* Usage:
Select dbo.checkstatename('10')
*/


Top

同意二楼的,顶
pengdali 2003-09-11
  • 打赏
  • 举报
回复
create function 得到状态(@订单号 int)
returns varchar(10)
as
begin
declare @a varchar(10)
if not exists(select 1 from 审核状态表 where 订单号=@订单号 and 状态 in ('拒绝','未审核'))
set @a='审核通过'
else
set @a='未审核通过'
return @a
end
txlicenhe 2003-09-11
  • 打赏
  • 举报
回复
create function checkstatename (@checkstateid varchar(10))
returns bit
as
begin
if exists(select * from 审核状态表 where checkstateid =@checkstateid
and 状态 in ('审核拒绝','未审核') )
Return(0)
Else
Return(1)
end
Go

/* Usage:
Select dbo.checkstatename('10')
*/
编辑推荐 方法意识巧妙融入,脑图表格清晰展现; 海量案例完美结合,线上线下拓展延伸。 内容简介 有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQLSQL应用可一字概括:“广”。加之其简单易学,SQL实现也可一字概括:“乐”。 然而,SQL虽然实现简单可乐,却极易引发性能问题,那时广大SQL使用人员可要“愁”就一个字,心碎无数次了。 缘何有性能问题?原因也一字概括:“量”。当系统数据量、并发访问量上去后,不良SQL就会拖跨整个系统,我们甚至找不出哪些SQL影响了系统。即便找到也不知如何动手优化。此时的心情也可以一字概括:“懵”。 现在《收获,不止SQL优化——抓住SQL的本质》开始带你抛除烦恼,走进优化的可乐世界! 首先教你SQL整体优化、快速优化实施、如何读懂执行计划、如何左右执行计划这四大必杀招。整这些干嘛呢?答案是,传授一个先整体后局部的宏观解决思路,走进“道”的世界。 接下来带领大家飞翔在“术”的天空。教你体系结构、逻辑结构、表设计、索引设计、表连接这五大要领。这么多套路,这又是要干嘛?别,这是教你如何解决问题,准确地说,是如何不改写即完成SQL优化。 随后《收获,不止SQL优化——抓住SQL的本质》指引大家学会等价改写、过程包优化、高级SQL、分析函数、需求优化这些相关的五大神功。有点头晕,能否少一点套路?淡定,这还是“术”的范畴,依然是教你如何解决问题,只不过这次是如何改写SQL完成优化。 最后一个章节没套路了,其中跟随你多年的错误认识是否让你怀疑人生,其中让SQL跑得更慢的观点,是否让你三观尽毁? 再多一点真诚吧,《收获,不止SQL优化——抓住SQL的本质》提供扫二维码辅助学习,是不是心被笔者给暖到了? 读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受SQL优化的世界。 一个字:“爽”! 京东购买连接:https://item.jd.com/12191576.html

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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