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
分享到:
相关推荐
比如说一个做SQL Server开収人员在要写Oracle存储过程的时候可能会先去找那些内置的函数然后比较它们之间不同点,她也可能会去比较发量声明以及错误处理的异同。 本系列文章中我将尝试对Microsoft SQL Server和...
两个版本的数据库对比,同时支持sqlserver,oracle,MySql ,代码差异高亮显示 具体功能 介绍博客有图片 :https://blog.csdn.net/wwja_chen/article/details/89336728 如开发库和正式库之间的结构和数据同步,此工具可以...
支持sqlserver ,oracle的数据库结构比较,列出表,视图,存储过程等对象的不同。方便数据库升级。
两个版本的数据库对比,同时支持sqlserver,oracle,MySql ,代码差异高亮显示 具体功能 介绍博客有图片 :https://blog.csdn.net/wwja_chen/article/details/89336728 如开发库和正式库之间的结构和数据同步,此工具可以...
从存储过程 自定义函数格式 游标 变量 赋值 语句结束符 大小写 Select 语法 Update语法 Delete语法 动态SQL语句 TOP用法 等各方面对比两个数据库的差异
介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...
Oracle和SqlServer系统表操作差异对比.docx SQL_Server2005索引碎片分析和解决方法.doc SQLSERVER存储过程大总结.doc SQL中各种索引.docx 看懂SqlServer查询计划 .docx 经典SQL语句大全.doc
微型Sql Server查询分析器: 有时为了解决问题,需要执行SQL脚本,但是电脑上又没有装SQL... 对主流数据库Sql Server,Oracle,DB2,MySql,Access等都可用,写脚本或存储过程时提示功能十分强大,十分方便,包你爱不释手
Oracle数据库创建临时表的过程以及和SQL Server临时表的不同点的对比的相关知识是本文我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧,希望能够对您有所帮助。 1.简介 Oracle数据库除了可以保存...
SqlDbx 是简单易用的数据库设备,... 可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等。
本工具用于对比SQL数据库支持mysql、sqlserver、oracle,以源数据库为标准 数据库, 然后拿目标数据库与标准数据库比较,如果目标数 据库少 了表,或少了字段,或字段类型长度不一样,或索引 不一样, 或存储过程,...
本工具用于对比SQL数据库支持mysql、sqlserver、oracle,以源数据库为标准 数据库, 然后拿目标数据库与标准数据库比较,如果目标数 据库少 了表,或少了字段,或字段类型长度不一样,或索引 不一样, 或存储过程,...
sqlserver2005教程SQLSERVER2005中Reporting Service执行日志的读取方法 恢复SQL2005误删除的数据 SQL2005 Management Studio 之 SSMS Field Types of SQL Server 2005 SQL Server 2005和SQL Server 2000数据的...
SqlDbx 是简单易用的数据库设备,SQL... 可以看到库中有多少表、多少存储过程、多少触发器、多少视图、多少函数,可以直接看到每个表的数据行数,可以导出查询结果的insert语句,还可以对比不同库中同一个表的差异等等
2、快速的比较两个库之间表、视图、存储过程、函数和触发器的不同,并可以生成SQL脚本,执行SQL脚本就可以完成两个库的同步操作 3、增加大字段(TEXT)的查看和修改功能 4、统计库中所有表的记录数,分析各表的数据 ...
里面包含有 1.Oracle安装及基本命令 2.Oracle常用的SQL语法和数据对象 3.Oracle初学者必知的基础知识 4.SQLServer和Oracle的常用函数对比 5.Oracle存储过程总结 6...... 常用的知识点,下载以后直接打开就行了。
oracle、MySQL、SqlServer、postger 四种数据库基本语法详细对比及用法,包含语言元素,数据类型,内置函数,四个数据库增删改查,游标,存储过程的对比及创建过程
│ 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,可以比较数据库结构差异、表机构差异、数据差异、存储过程/函数差异。