`
lengyue
  • 浏览: 144555 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

在sqlserver2000中实现类似oracle的Merge into的方法

阅读更多

   begin tran t1
        declare @existflag int
        SELECT @existflag =rcgoobpr_flag FROM ri_rcgoobpr where ri_manageunitcode=#rvManageunitCode# and
        rcgoobpr_id=#rcgoobpr_id#
        if(@existflag is not null)
        begin
        update ri_rcgoobpr set
        rvrcds_id=#rvrcds_id#,bnds=#bnds#,brnm=#brnm#,infndt=#infndt#,goennmcd=#goennmcd#,lfbnpl=#lfbnpl#,
        wtlvbkin=#wtlvbkin#,brar=#brar#,brdm=#brdm#,brinchwd=#brinchwd#,brigwtar=#brigwtar#,rvbrpl=#rvbrpl#,
        rvbrin=#rvbrin#,rm=#rm#,usercode=#usercode#,username=#username#,operationdate=getdate()
        WHERE rcgoobpr_id=#rcgoobpr_id#
        AND ri_manageunitcode=#rvManageunitCode#
        end
        else
        begin
        INSERT INTO ri_rcgoobpr
        (rcgoobpr_id,rvrcds_id,bnds,brnm,ri_manageunitcode,infndt,goennmcd,lfbnpl,wtlvbkin,brar,brdm,brinchwd,brigwtar,rvbrpl,
        rvbrin,rm,usercode,username,operationdate,errorflag,auditingflag,sendflag,flag)
        VALUES
           (#rcgoobpr_id#,#rvrcds_id#,#bnds#,#brnm#,#rvManageunitCode#,#infndt#,#goennmcd#,#lfbnpl#,#wtlvbkin#,#brar#,#brdm#,#brinchwd#,
        #brigwtar#,#rvbrpl#,#rvbrin#,#rm#,#usercode#,#username#,getdate(),#errorflag#,
        #auditingflag#,#sendflag#,#flag#)
        
        end
        commit tran t1
        <![CDATA[if(@@error>0)]]>
        begin
        rollback tran t1
        end

以上是用sqlserver2000开发的类似于oracle中的merge into 的语句,以上语句是在ibatis中开发的

2
1
分享到:
评论
1 楼 zhou2012 2012-03-31  
写个sql都不写注释?

相关推荐

    Merge-Sql.zip

    在支持MERGE的数据库系统(如Oracle、SQL Server、PostgreSQL等)中,这个语句能有效地处理复杂的合并场景。然而,并非所有数据库都原生支持MERGE,例如MySQL的标准版本就未包含此功能。在这种情况下,我们需要寻找...

    非常全面的sql语句全集

    它被广泛应用于各种数据库管理系统,如Oracle、MySQL、SQL Server等。通过SQL,用户可以执行数据查询、更新、插入、删除等操作,同时还能创建、修改和管理数据库结构。 ### 基本SQL SELECT语句 #### 描述与执行 - ...

    DBLINK实现两个数据库间表数据同步---张金总结版.docx

    DBLink是Oracle数据库提供的一种功能,它允许在不同的数据库实例之间...总之,DBLink是Oracle中实现跨数据库数据同步的有效工具,通过创建DB Link并结合适当的SQL操作,可以灵活地管理和维护多数据库之间的数据一致性。

    阿里数据库团队PostgreSQL实践.ppt

    5. MERGE INTO语句的改造:在PostgreSQL中,需使用with子句、update returning及insert来实现类似的功能。 通过这些实践,阿里数据库团队成功地将Oracle替换为PostgreSQL,降低了运维成本,提高了系统的自主可控性...

    DBLINK实现两个数据库间表数据同步---张金总结版.pdf

    DBLink是Oracle数据库提供的一种功能,它允许用户在不同的数据库之间建立连接,从而实现数据的交互和同步。本文主要介绍了如何使用DBLink在两个Oracle数据库之间实现表数据的同步,具体步骤如下: 首先,需要在目标...

    经常面试到的SQL题(查询重复数据和清除重复数据)

    在Oracle或SQL Server等其他数据库系统中,可以使用`MERGE`语句来删除重复数据,或者在创建新表后使用`TRUNCATE`和`RENAME`命令替换原有表。 然而,这种方法可能会遇到问题,比如当表有多个字段时,哪些字段组合...

    阿里数据库团队PostgreSQL实践.pptx

    Oracle的`merge into`语句在PG中则需通过`with`查询、`update returning`和`insert`的组合来实现。 在数据迁移阶段,结构迁移和数据迁移是关键步骤,确保所有信息在新系统中准确无误。最后,团队进行了功能回归测试...

    oracle基础知识

    在SQL*Plus中连接到Oracle数据库时,可以使用`conn`命令。例如: ```sql conn 用户名/密码 ``` 查看当前登录用户: ```sql show user; ``` 连接到特定的数据库实例: ```sql conn [用户名/密码@网络 [as sysdba...

    jsqlformatter:Java SQL格式化程序,美化程序和漂亮打印机

    jsqlformatter Java SQL格式化程序,美化程序和漂亮打印机特征基于 支持复杂的SELECT,INSERT INTO,MERGE,UPDATE语句简单用法String formattedSql = JSqlFormatter . format( " SELECT * FROM table1 " ) RDBMS不...

    My SQL知识大全

    MySQL在大型数据库如Oracle、DB2、SQL Server等面前,虽然规模较小,但由于其开源免费的特点,受到很多技术人员的喜爱。对于许多小企业和个人开发者来说,MySQL提供的功能已经足够,并且MySQL作为开源软件拥有较低的...

    JAVA面试题

    - **Navicat Premium**:集成了对多种数据库的支持,包括MySQL、MariaDB、SQL Server、SQLite、Oracle及PostgreSQL,也支持Redis。 #### SpringBoot常用注解 - `@RestController`:用于标记控制器类,返回JSON格式...

Global site tag (gtag.js) - Google Analytics