SQL临时表递归查询子信息并返回记录的代码,需要的朋友可以参考下
代码如下:declare @Q_ID uniqueidentifier
set @Q_ID = dbo.uf_GetParamValueByName(@Params,'@指标ID');
declare @QAExp_ID char(36) --指标属性公式ID
set @QAExp_ID='3D2B8F3F-0B7E-46FD-9B33-050F846C2869'
declare @temp_qid table(QID char(36),ExpValue nvarchar(max)) --临时表变量获得指标根ID
declare @QIDtemp char(36),@express nvarchar(4000)
declare @k int=2 --层次
declare @pattern nvarchar(2)='ID' --指标公式拆分字段
declare @charidex int --指标对应的索引
if(@OPType = '根据指标ID查找公式所有子指标')
begin
create table #TempQuotaStruct --创建临时表#TmpStruct
(
QID char(36), --创建一个ID用来存储指标ID
PID char(36), --用来存储该指标相关的iD
OrderValue int --层级关系
)
insert #TempQuotaStruct(QID,OrderValue)values(@Q_ID,1)
while EXISTS(select Q_ID from EOTS_QuotaAttributeValue where QA_ID=@QAExp_ID and Q_ID in (select QID from #TempQuotaStruct where OrderValue=@k-1) )
begin
insert into @temp_qid select Q_ID,QAV_Value from EOTS_QuotaAttributeValue whereQA_ID=@QAExp_IDand Q_ID in (select QID from #TempQuotaStruct whereOrderValue=@k-1)
WHILE EXISTS(select QID from @temp_qid)
begin
select top 1 @QIDtemp=QID, @express=ExpValue from @temp_qid
print @QIDtemp
set @express=rtrim(ltrim(@express))
set @charidex=charindex(@pattern,@express)
while @charidex>=1
begin
insert into #TempQuotaStruct(QID,PID,OrderValue)values(SUBSTRING(@express,@charidex+2,36),@QIDtemp,@k)
set @express=SUBSTRING(@express,@charidex+38,len(@express)-@charidex+37)
set @charidex=charindex(@pattern,@express)
end
delete from @temp_qid where QID = @QIDtemp
end
set @k=@k+1
end
select a.*,b.Q_Name, c.QAV_Value as Q_Formula from #TempQuotaStruct a,EOTS_Quota b,EOTS_QuotaAttributeValue c where a.QID=b.Q_ID and a.QID=c.Q_ID and c.QA_ID='3D2B8F3F-0B7E-46FD-9B33-050F846C2869'
此SQL是对标模块的临时表查询,他能查出一个指标下面的多个子指标的公式,并分层级显示 @指标ID=#*1*#;#*1*#08bea0aaf-0ed2-4c9b-8c20-8c5bd919db6f#*1*#
摘自EOTS 存储过程up_eots_Get_QuotaStruct
临时表循环的关键就是下面的语句, select top 1 from #Tep,用一个变量循环取值,然后删除循环中的值
代码如下:
insert into #Tep select optname,value,major_version from MSreplication_options
while Exists(select a from #Tep)
begin
select top 1 @tempa =a,@tempc =c from #Tep
delete #Tep where a=@tempa
end

本篇文章给大家带来了关于SQL的相关知识,其中主要介绍了SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询的方法,文中通过示例代码介绍的非常详细,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于SQL server的相关知识,其中主要介绍了SQL SERVER没有自带的解析json函数,需要自建一个函数(表值函数),下面介绍关于SQL Server解析/操作Json格式字段数据的相关资料,希望对大家有帮助。

如何优化sql中的orderBy语句?下面本篇文章给大家介绍一下优化sql中orderBy语句的方法,具有很好的参考价值,希望对大家有所帮助。

monacoeditor创建//创建和设置值if(!this.monacoEditor){this.monacoEditor=monaco.editor.create(this._node,{value:value||code,language:language,...options});this.monacoEditor.onDidChangeModelContent(e=>{constvalue=this.monacoEditor.getValue();//使value和其值保持一致i

本篇文章给大家带来了关于SQL server的相关知识,开窗函数也叫分析函数有两类,一类是聚合开窗函数,一类是排序开窗函数,下面这篇文章主要给大家介绍了关于SQL中开窗函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下。

0x01前言概述小编又在MySQL中发现了一个Double型数据溢出。当我们拿到MySQL里的函数时,小编比较感兴趣的是其中的数学函数,它们也应该包含一些数据类型来保存数值。所以小编就跑去测试看哪些函数会出现溢出错误。然后小编发现,当传递一个大于709的值时,函数exp()就会引起一个溢出错误。mysql>selectexp(709);+-----------------------+|exp(709)|+-----------------------+|8.218407461554972

当某些sql因为不知名原因堵塞时,为了不影响后台服务运行,想要给sql增加执行时间限制,超时后就抛异常,保证后台线程不会因为sql堵塞而堵塞。一、yml全局配置单数据源可以,多数据源时会失效二、java配置类配置成功抛出超时异常。importcom.alibaba.druid.pool.DruidDataSource;importcom.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;importorg.apache.

monacoeditor创建//创建和设置值if(!this.monacoEditor){this.monacoEditor=monaco.editor.create(this._node,{value:value||code,language:language,...options});this.monacoEditor.onDidChangeModelContent(e=>{constvalue=this.monacoEditor.getValue();//使value和其值保持一致i


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Linux新版
SublimeText3 Linux最新版