`
wsql
  • 浏览: 12098440 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

用事务实现函数效果

 
阅读更多

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!-- [if !mso]> <object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui> </object> <mce:style><!-- st1/:*{behavior:url(#ieooui) } -->

<!-- [endif]-->

--事務XML控制

<!-- [if gte mso 10]> <mce:style><!-- /* Style Definitions */ table.MsoNormalTable {mso-style-name:表格內文; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} -->

<!-- [endif]-->

-- 用事务/XML实现函数效果

create table ta( id int , name varchar ( 50))

insert ta

select 1, 'a' union all

select 1, 'b' union all

select 1, 'a' union all

select 2, 'e' union all

select 2, 'f' union all

select 3, 'g' union all

select 3, 'h' union all

select 3, 'i' union all

select 3, 'j' union all

select 4, 'k' union all

select 4, 'm' union all

select 4, 'l' union all

select 5, 'A' union all

select 5, 'B' union all

select 5, 'C' union all

select 5, 'D' union all

select 5, 'E' union all

select 6, 'F' union all

select 6, 'G' union all

select 6, 'H' union all

select 6, 'K' union all

select 6, 'M'

-- 合并效果

/*

ID Name

----------- ----------

1 a ,b,a

2 e,f

3 g ,h,i,j

4 k,m,l

5 A ,B,C,D,E

6 F ,G,H,K,M

(6 個資料列受到影響 )

*/

-- 方法 1( 不用函数实现更新、查询 ) 如下用于几列合并一列方法 1 比方法 2 效率高

declare @tb table ( id int , name varchar ( 50), con int identity ( 1, 1))

insert @tb

select * from ta

begin tran

while exists( select 1 from @tb)

begin

update a

set a. name= a. name+ ',' + b. name

from ta a , @tb b

where a. id= b. id and

not exists( select * from @tb where id= b. id and con< b. con )

delete b

from @tb b where not exists( select 1 from @tb where id= b. id and con< b. con)

end

select distinct id, 显示 = stuff ( name , 1, charindex ( ',' , name ), '' ) from ta

-- 以下用于更新 commit tran 替换 rollback tran

--update ta set name=stuff(name,1,charindex(',',name),'')

--commit tran

rollback tran

select * from ta

-- 方法 2( 通过创建函数实现查询更新、查询 )

create function ta_fun( @id int )

returns varchar ( 1000)

as

begin

declare @sql varchar ( 1000)

set @sql= ''

select @sql= @sql+ ',' + name from ta where id= @id

--print @sql

return stuff ( @sql, 1, 1, '' )

end

select distinct id, 显示 = dbo. ta_fun( id) from ta

--select id, 显示 =dbo.ta_fun(id) from ta group by id

-- 以下用函数更新

update ta set name = dbo. ta_fun( id)

--drop table ta 删测试表

--drop function ta_fun 删测试函数

-- 以下用 SQL2005 实现方法

--XML 方法 1

SELECT *

FROM ( SELECT DISTINCT id FROM ta ) A

OUTER APPLY

( SELECT [name]= STUFF ( REPLACE ( REPLACE (( SELECT name FROM ta N WHERE id = A. id FOR XML AUTO ), '<N name="' , ',' ), '"/>' , '' ), 1, 1, '' )) N

--XML 方法 2

select

ID, [Name]= stuff (( select ',' + Name from Ta where ID= a. ID for xml path ( '' )), 1, 1, '' )

from Ta a

group by ID

分享到:
评论

相关推荐

    Delphi公共使用函数,多年积累

    - 动画效果:例如,淡入淡出、滑动等效果,可以通过公共函数实现,增强用户体验。 - 自定义控件:有时需要创建具有特定功能的自定义控件。这些控件可以继承自标准控件,然后添加额外的属性、方法和事件。 3. 其他...

    loadrunner函数大全及中文新

    为了实现这一目标,LoadRunner使用了一套丰富的函数库,这些函数可以嵌入到脚本中,来控制Vuser的行为并收集性能数据。在本文中,我们将对LoadRunner的函数进行深入解析,以帮助读者更好地理解和运用这些函数。 ...

    在分布式事务中实现基于Oracle PLSQL UL LOCK的悲观离线锁

    本文将深入探讨如何在分布式事务中实现基于Oracle PL/SQL的Ultra Lock(悲观离线锁)机制。 Ultra Lock是一种加强型的锁定策略,用于在高并发环境下提供更精确的并发控制。 Oracle PL/SQL是一种强大的编程语言,它...

    LoadRunner函数小全

    ### LoadRunner函数详解 LoadRunner是一款非常强大的性能测试工具,被广泛应用于软件性能评估与优化。其中,函数的灵活运用是提升脚本...此外,对于复杂的测试场景,合理组合使用这些函数可以实现更为精细的测试需求。

    调用obj文件中的函数.zipc语言调用.lib,.dll,.a,.so中的函数不稀奇,可是你听说过调用.obj文件中的函数吗?

    - **跟调用lib库函数、dll库函数的效果一样.txt**:这个文档可能包含对比调用库函数和`.obj`文件函数的示例,强调两者在调用效果上的相似性。 - **c语言调用obj - 分享一些发现性的事务,少走一些弯路- - CSDN博客....

    Opengauss事务管理系统分析

    - 一个简单的事务执行示例:BEGIN -&gt; SELECT -&gt; INSERT -&gt; COMMIT,底层函数会根据指令逐个执行,如 `CommitCounterIncrement` 让后续操作能查看已执行的操作效果。 4. **事务处理机制** - 子事务处理机制:通过 ...

    SQL Server的怪辟:异常与孤立事务

    在给定的内容中,并未直接提及孤立事务的实现方法,但从事务管理的角度来看,正确地使用事务能够有效地实现孤立事务的效果。 #### 总结 通过对 SQL Server 中异常处理机制的深入探讨,我们了解到 SQL Server 提供...

    常用函数支持库

    这些函数提供了查询执行、事务管理、结果集处理等功能,使得数据存储和检索更加便捷。 六、错误处理与调试 函数支持库通常包括错误处理函数,帮助开发者识别和解决程序中的问题。日志记录功能也是常见的一部分,...

    ssh框架整合分页--内部类回调函数

    5. **JSP页面展示**:在前端页面,使用Struts2提供的标签库,如s:iterator遍历当前页的数据,同时显示翻页链接,用户可以通过点击这些链接改变请求参数,达到切换页面的效果。 6. **水印技术**:提到“水印”标签,...

    实现Ajax翻页效果

    在网页开发中,实现Ajax(异步JavaScript和XML)翻页效果是一种常见且高效的方法,它可以在不刷新整个页面的情况下加载新的内容。这种方式提升了用户体验,因为用户可以无缝地浏览大量数据,而不会被频繁的页面跳转...

    SQL Server与Oracle常用函数对比

    - SQL Server中的`LEN()`函数用于计算字符串的长度,而Oracle使用`LENGTH()`函数达到相同效果。 - 在SQL Server中,`SUBSTRING()`用于提取字符串的一部分,Oracle中对应的函数是`SUBSTR()`。 - `REPLACE()`函数在...

    2014年度辛星PHP教程秋季版之重点函数.pdf

    本教程不仅仅是一本简单的手册,而是通过实践例子和代码示例,让读者能够更直观地理解每个函数的使用场景和效果。教程涵盖了数组、字符串、日期时间、文件目录、数据库、GD图形处理等多个方面,每个章节都针对特定...

    基于PHP实现响应式会计税务事务所网站.zip

    对于会计税务事务所的网站,这意味着无论用户使用何种设备,都能方便地查看服务信息、预约咨询、上传文件、查看账单等。 在这个项目中,开发者可能使用了Bootstrap框架,这是一个流行的开源工具集,包含预设的CSS...

    数据库触发器、存储过程、事务管理PPT

    数据库触发器、存储过程和事务管理是数据库管理系统中的核心概念,它们在数据处理和业务逻辑实现中扮演着重要角色。让我们深入探讨这三个主题。 首先,我们来看“触发器”。触发器是一种特殊的数据库对象,它在特定...

    javascript手册+php常用函数

    5. **数据库交互**:使用PDO或mysqli扩展连接MySQL,执行SQL查询、事务处理。 6. **HTTP和会话**:获取和设置HTTP头、URL解析、会话管理(session_start、$_SESSION)。 7. **面向对象编程**:类和对象、继承、...

    LINQ To SQL实现分页效果源码

    在大型数据集上,可能需要更高效的分页策略,例如使用`ROW_NUMBER() OVER(PARTITION BY...)` SQL函数(如果数据库支持)。 7. **事务和错误处理**:不要忘记在处理数据库操作时考虑事务和异常处理,以确保数据的...

    自创函数库简化版0.01

    这个简化版的函数库表明了一个全面的Web开发流程,涵盖了前端样式设置、动态效果实现以及后端数据处理。对于初学者,这是一个很好的学习资源,可以帮助理解JavaScript、CSS和PHP在实际项目中的协同工作方式。对于有...

    tomatowork个人事务管理系统

    4. **CSS动画**:可能用CSS实现计时器的动画效果,如进度条填充或数字滚动。 5. **选择器和伪类**:精准地控制元素的样式,如`:hover`, `:active`, `:focus`等。 6. **CSS变量**:可能使用CSS变量(Custom ...

    律师事务所整站无错代码.rar

    这个压缩包可能包含了一个律师事务所网站从用户界面到后端功能的全部实现,旨在提供一个稳定且功能完备的平台。 描述中的重复文字"律师事务所整站无错代码.rar"进一步强调了这个压缩包的核心内容,即为律师事务所...

    pb 实现仿BS界面 dw菜单 powerbuild

    本文将深入探讨如何使用PowerBuilder实现一个仿浏览器-服务器(BS)界面的DW菜单。 首先,让我们了解什么是BS架构。BS架构,即Browser-Server(浏览器-服务器)模式,是一种客户端-服务器架构,其中用户通过Web...

Global site tag (gtag.js) - Google Analytics