`
longo1202
  • 浏览: 10210 次
  • 性别: 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与SQL Server

    比如说一个做SQL Server开収人员在要写Oracle存储过程的时候可能会先去找那些内置的函数然后比较它们之间不同点,她也可能会去比较发量声明以及错误处理的异同。 本系列文章中我将尝试对Microsoft SQL Server和...

    SqlServer,Oracle,MySql数据库结构相互对比同步, 代码生成,Word表格生成Model,文本对比,格式化文本

    两个版本的数据库对比,同时支持sqlserver,oracle,MySql ,代码差异高亮显示 具体功能 介绍博客有图片 :https://blog.csdn.net/wwja_chen/article/details/89336728 如开发库和正式库之间的结构和数据同步,此工具可以...

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

    支持sqlserver ,oracle的数据库结构比较,列出表,视图,存储过程等对象的不同。方便数据库升级。

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

    两个版本的数据库对比,同时支持sqlserver,oracle,MySql ,代码差异高亮显示 具体功能 介绍博客有图片 :https://blog.csdn.net/wwja_chen/article/details/89336728 如开发库和正式库之间的结构和数据同步,此工具可以...

    SQLServer与Oracle语法差异汇总.docx

    从存储过程 自定义函数格式 游标 变量 赋值 语句结束符 大小写 Select 语法 Update语法 Delete语法 动态SQL语句 TOP用法 等各方面对比两个数据库的差异

    Sqlserver2000经典脚本

    介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...

    sqlserver 一堆学习文档

    Oracle和SqlServer系统表操作差异对比.docx SQL_Server2005索引碎片分析和解决方法.doc SQLSERVER存储过程大总结.doc SQL中各种索引.docx 看懂SqlServer查询计划 .docx 经典SQL语句大全.doc

    微型Sql Server查询分析器、数据库比较工具,SQL语句编写助手

    微型Sql Server查询分析器: 有时为了解决问题,需要执行SQL脚本,但是电脑上又没有装SQL... 对主流数据库Sql Server,Oracle,DB2,MySql,Access等都可用,写脚本或存储过程时提示功能十分强大,十分方便,包你爱不释手

    对比Oracle临时表和SQL Server临时表的不同点

    Oracle数据库创建临时表的过程以及和SQL Server临时表的不同点的对比的相关知识是本文我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧,希望能够对您有所帮助。 1.简介 Oracle数据库除了可以保存...

    Sqlserver数据库操作利器SqlDbxPersonal

    SqlDbx 是简单易用的数据库设备,... 可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等。

    数据库比对工具,支持mysql、sqlserver、oracle(win7版)

    本工具用于对比SQL数据库支持mysql、sqlserver、oracle,以源数据库为标准 数据库, 然后拿目标数据库与标准数据库比较,如果目标数 据库少 了表,或少了字段,或字段类型长度不一样,或索引 不一样, 或存储过程,...

    数据库比对工具,支持mysql、sqlserver、oracle(win 32版)

    本工具用于对比SQL数据库支持mysql、sqlserver、oracle,以源数据库为标准 数据库, 然后拿目标数据库与标准数据库比较,如果目标数 据库少 了表,或少了字段,或字段类型长度不一样,或索引 不一样, 或存储过程,...

    sql2005教程

    sqlserver2005教程SQLSERVER2005中Reporting Service执行日志的读取方法 恢复SQL2005误删除的数据 SQL2005 Management Studio 之 SSMS Field Types of SQL Server 2005 SQL Server 2005和SQL Server 2000数据的...

    SqlDbx Pers

    SqlDbx 是简单易用的数据库设备,SQL... 可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等

    sql数据库比较工具 3.5 官方版

    2、快速的比较两个库之间表、视图、存储过程、函数和触发器的不同,并可以生成SQL脚本,执行SQL脚本就可以完成两个库的同步操作 3、增加大字段(TEXT)的查看和修改功能 4、统计库中所有表的记录数,分析各表的数据 ...

    Oracle数据库资料(初级入门资料)

    里面包含有 1.Oracle安装及基本命令 2.Oracle常用的SQL语法和数据对象 3.Oracle初学者必知的基础知识 4.SQLServer和Oracle的常用函数对比 5.Oracle存储过程总结 6...... 常用的知识点,下载以后直接打开就行了。

    数据库基本语法对比及用法.rar

    oracle、MySQL、SqlServer、postger 四种数据库基本语法详细对比及用法,包含语言元素,数据类型,内置函数,四个数据库增删改查,游标,存储过程的对比及创建过程

    经典SQL脚本大全

    │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整tempdb数据库的文件属性.sql │ ├─第02章 │ │ 2.1 日期概念理解中的一些测试.sql │ │ ...

    数据库对比软件

    实用的数据库对比软件 支持oracle mysql sqlserver,可以比较数据库结构差异、表机构差异、数据差异、存储过程/函数差异。

Global site tag (gtag.js) - Google Analytics