注册

SQLSERVER标量值函数怎么转达梦函数

小琛琛 2023/11/08 519 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:windows
【CPU】:Intel
【问题描述】*:SQLSERVER标量值函数怎么转达梦函数

USE [WCQCG_New] GO /****** Object: UserDefinedFunction [dbo].[GetMoneySource] Script Date: 11/08/2023 17:35:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --drop function GetMoneySource; ALTER function [dbo].[GetMoneySource](@RequestID varchar(50)) returns varchar(100) as begin declare @Explain varchar(100) DECLARE @temp TABLE ( ID varchar(50), BudgetIn decimal(18,2), BudgetOut decimal(18,2), RaiseIndependently decimal(18,2) ); -- 将源表中的数据插入到表变量中 INSERT INTO @temp(ID,BudgetIn, BudgetOut, RaiseIndependently) SELECT ID,BudgetIn,BudgetOut,RaiseIndependently FROM CG_RequestItem where FormID=@RequestID; -- 声明变量 DECLARE @ID varchar(50), @BudgetIn decimal(18,2), @BudgetOut decimal(18,2), @RaiseIndependently decimal(18,2); set @Explain='' WHILE EXISTS(SELECT ID FROM @temp) BEGIN SELECT top 1 @ID=ID, @BudgetIn=BudgetIn,@BudgetOut=BudgetOut,@RaiseIndependently=RaiseIndependently FROM @temp; DELETE FROM @temp WHERE ID=@ID; if @BudgetIn>0 and @Explain not like '%预算内%' begin set @Explain= @Explain+' 预算内' end if @BudgetOut>0 and @Explain not like '%预算外%' begin set @Explain=@Explain+' 预算外' end if @RaiseIndependently>0 and @Explain not like '%单位自筹%' begin set @Explain=@Explain+' 单位自筹' end END return @Explain END
回答 0
暂无回答
扫一扫
联系客服