`
longo1202
  • 浏览: 10571 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle 存储过程与SQLserver 对比

    博客分类:
  • Java
阅读更多

ORACLE:

 

CREATE OR REPLACE PROCEDURE  PROC_DELETE_CAN_ITEM 
(   
    CAN_ITEM_IDS IN VARCHAR2,   
    RETURNVALUE OUT INT   
)   
IS   
    ERRORCOUNT INT;   
    VAR_CAN_ITEM_ID INT;   
    VAR_IDS VARCHAR2(200);
BEGIN   
    RETURNVALUE:=0; 
    WHILE instr(CAN_ITEM_IDS,',')>0 LOOP   
      BEGIN   
          VAR_CAN_ITEM_ID:=SUBSTR(VAR_IDS,1,INSTR(VAR_IDS,',')-1);   
          --刉壺CAN_ITEM   
          UPDATE CAN_ITEM SET VALID=0 WHERE CAN_ITEM_ID=VAR_CAN_ITEM_ID;   
          --刉壺AUTO_MODEL_CAN_ITEM   
          DELETE FROM AUTO_MODEL_CAN_ITEM WHERE CAN_ITEM_ID=VAR_CAN_ITEM_ID;   
          --刉壺CURRENT_CAN_ITEM   
          DELETE FROM CURRENT_CAN_ITEM WHERE CAN_ITEM_ID=VAR_CAN_ITEM_ID;   
          VAR_IDS:=SUBSTR(CAN_ITEM_IDS,INSTR(CAN_ITEM_IDS,',')+1,LENGTH(CAN_ITEM_IDS)-INSTR(CAN_ITEM_IDS,','));   
      END;   
    END LOOP;   
        --刉壺CAN_ITEM   
        UPDATE CAN_ITEM SET VALID=0 WHERE CAN_ITEM_ID=CAN_ITEM_IDS;   
        --刉壺AUTO_MODEL_CAN_ITEM   
        DELETE FROM AUTO_MODEL_CAN_ITEM WHERE CAN_ITEM_ID=CAN_ITEM_IDS;   
        --刉壺CURRENT_CAN_ITEM   
        DELETE FROM CURRENT_CAN_ITEM WHERE CAN_ITEM_ID=CAN_ITEM_IDS;   
    EXCEPTION   
        WHEN OTHERS THEN
        ROLLBACK;   
        RETURNVALUE:=1;   
        RETURN;
END; 
 




SQLSERVER:


[code="sql"]CREATE PROCEDURE [dbo].[PROC_DELETE_CAN_ITEM]
@CAN_ITEM_IDS NVARCHAR(200),
@RETURNVALUE INT OUTPUT
AS
BEGIN TRANSACTION
DECLARE @ERRORCOUNT INT ,@CAN_ITEM_ID INT
BEGIN
SET @ERRORCOUNT=0
WHILE CHARINDEX (',',@CAN_ITEM_IDS)>0
BEGIN
SET @CAN_ITEM_ID=LEFT(@CAN_ITEM_IDS,CHARINDEX(',',@CAN_ITEM_IDS)-1)
--删除CAN_ITEM
UPDATE CAN_ITEM SET VALID=0 WHERE CAN_ITEM_ID=@CAN_ITEM_ID
--删除AUTO_MODEL_CAN_ITEM
DELETE FROM AUTO_MODEL_CAN_ITEM WHERE CAN_ITEM_ID=@CAN_ITEM_ID
--删除CURRENT_CAN_ITEM
DELETE FROM CURRENT_CAN_ITEM WHERE CAN_ITEM_ID =@CAN_ITEM_ID
SET @ERRORCOUNT=@ERRORCOUNT+@@ERROR
SET @CAN_ITEM_IDS=SUBSTRING( @CAN_ITEM_IDS,CHARINDEX(',',@CAN_ITEM_IDS)+1,LEN(@CAN_ITEM_IDS)-CHARINDEX(',',@CAN_ITEM_IDS))
END
--删除CAN_ITEM
UPDATE CAN_ITEM SET VALID=0 WHERE CAN_ITEM_ID=@CAN_ITEM_IDS
--删除AUTO_MODEL_CAN_ITEM
DELETE FROM AUTO_MODEL_CAN_ITEM WHERE CAN_ITEM_ID=@CAN_ITEM_IDS
--删除CURRENT_CAN_ITEM
DELETE FROM CURRENT_CAN_ITEM WHERE CAN_ITEM_ID =@CAN_ITEM_IDS
SET @ERRORCOUNT=@ERRORCOUNT+@@ERROR
END
IF(@ERRORCOUNT0)
BEGIN
ROLLBACK TRANSACTION   --回滚事务
SET @RETURNVALUE=0     --执行失败返回0
END
ELSE
BEGIN
COMMIT TRANSACTION    --提交事务
SET @RETURNVALUE=1     --执行成功返回1
END

GO

 

分享到:
评论

相关推荐

    oracle到sqlserver存储过程语法转换

    ### Oracle到SQL Server存储过程...在进行数据库迁移时,开发者需要仔细分析现有的Oracle存储过程,然后根据SQL Server的语法特点进行相应的转换。此外,还应考虑到性能优化等问题,确保迁移后的应用程序能够高效运行。

    oracle,sqlserver及mysql对比

    Oracle、SQL Server 及 MySQL 对比 Oracle、SQL Server 及 MySQL 是目前最流行的三大关系数据库管理系统,各有其优缺点。本文将从表空间、查询语句、事务、分区表和分区索引、优缺点等方面对三者进行比较。 表空间...

    深度对比 Oracle与SQL Server

    通过对 Oracle 和 SQL Server 的深度对比,我们可以看出两者在操作系统的支持、版本和发行版、实例和数据库管理、事务一致性与基于时间点的恢复、系统元数据、启动与配置参数、动态视图、存储结构、启动与关闭、...

    oracle与SQL server的语法差异总结

    Oracle 和 SQL Server 是两种广泛应用的关系型...这些对比可以帮助开发者理解和适应在Oracle与SQL Server之间切换时可能遇到的不同语法和使用习惯。理解这些差异对于在两个系统间进行迁移或开发跨平台应用至关重要。

    ORACLE中BLOB字段导入到SQL SERVER中的IMAGE字段

    2. **数据导出**:使用ORACLE提供的工具,如SQL*Plus或者PL/SQL Developer,或者通过编写SQL查询或存储过程来提取BLOB数据。通常,我们可以将BLOB数据转化为HEX字符串或Base64编码,以便在文本格式下传输。 3. **...

    oracle复习及与sql server的比较等

    本复习将深入探讨Oracle的关键知识点,并将其与SQL Server进行对比,以便更好地理解和运用。 首先,Oracle的安装配置是使用Oracle数据库的第一步。安装过程中,你需要选择适合的软件版本(如Oracle Database 12c或...

    深度对比Oracle与SQL Server

    【深度对比Oracle与SQL Server】 在信息技术领域,数据库管理系统(DBMS)的选择对企业的信息架构至关重要。Oracle和Microsoft SQL Server是两大主流的关系型数据库管理系统(RDBMS),各自有着广泛的应用。本文...

    SqlServer,Oracle,MySql数据库结构相互对比同步.rar

    标题中的“SqlServer,Oracle,MySql数据库结构相互对比同步”是指对这三种主流关系型数据库管理系统(RDBMS)在数据库结构方面的比较和同步方法。这些数据库系统在数据存储、查询语言、安全性、性能优化等方面都有...

    Oracle和SQL Server的一些区别(函数和存储过程)

    通过上述对比,我们可以看到Oracle与SQL Server在数学函数、字符串处理以及存储过程等方面都有着自己独特的实现方式和特点。理解这些差异对于跨平台迁移数据库应用或进行特定优化工作具有重要意义。

    sqlserver转oracle

    标题“sqlserver转oracle”指的是将SQL Server数据库中的数据迁移或同步到Oracle数据库的过程。这个过程通常发生在组织更换数据库系统,或者需要在不同数据库平台之间共享数据时。下面将详细介绍这个过程中涉及的...

    SQLserver、Oracle、Mysql语法与用法对比.doc

    《SQLserver、Oracle、Mysql语法与用法对比》 SQLserver、Oracle和Mysql是当前最主流的三种关系型数据库管理系统,它们在语法和用法上存在一些共性,但也各自具有特色。以下是对这三种数据库在常用操作上的对比分析...

    SQLSERVER导入ORACLE数据库.

    SQL Server导入Oracle的过程通常涉及多个步骤,其中包括数据抽取、转换和加载(ETL)过程。以下是实现这一过程的一种常见方法: 1. **数据抽取**:在SQL Server中,可以使用SQL查询或者工具如SQL Server Management...

    Oracle与SQLServer集群部署方案对比及实例.docx

    【Oracle与SQL Server集群部署方案对比及实例】 在构建大型全国系统的背景下,系统稳定性和安全性是首要考虑的因素。为了满足这些需求,通常会选择部署数据库集群,以实现故障转移、数据冗余和灾难备份。本篇将对比...

    从SqlServer导数据到Oracle数据库的winform程序(定时器).zip

    在本项目中,开发者创建了一个基于Winform的C#应用程序,该程序实现了从SQL Server数据库向Oracle数据库的数据迁移功能,并且这个迁移过程是通过一个定时器来触发的,确保了数据的实时同步。以下是关于这个项目的...

    SqlServer与Oracle差异

    【SqlServer与Oracle差异】 在数据库领域,SqlServer和Oracle都是广泛使用的数据库管理系统,它们各自拥有独特的特性和优势。本文将从概念、数据类型、语法等方面对比两者的差异。 1. **概念上的区别** - Oracle...

    Oracle与MS SQL Server 之比较

    Oracle 和 Microsoft SQL Server 是两种广泛使用的商业...总的来说,Oracle 与 MS SQL Server 在功能、语法、管理和性能上都有各自的特点。选择哪种数据库通常取决于具体的应用场景、企业需求、预算和团队技术背景。

    数据库对比工具(支持sqlserver ,oracle)

    总结来说,"数据库对比工具(支持sqlserver ,oracle)"是数据库管理员和开发人员不可或缺的辅助工具,它提高了工作效率,减少了因数据结构不一致导致的问题,确保了数据库升级过程的顺利进行。无论是对SQL Server...

    Oracle 9i与MS SQL Server 2000之比较

    Oracle 9i与MS SQL Server 2000是两种广泛应用的关系型数据库管理系统,它们各自具有独特的特性和功能。在对比这两个系统时,我们可以从多个方面进行深入探讨。 首先,让我们关注一下`TOP N`与`ROWNUM`的差异。在...

Global site tag (gtag.js) - Google Analytics