CREATE OR REPLACE FUNCTION hello
/**********************************************************
Author : fuqiang WX155924
Version : v1.00
Date : 2013-01-06
Description : 目录上下移动
******************************************************/
(i_source_objid IN VARCHAR2, -- 原目录objectid
i_tag_objid IN VARCHAR2 -- 要移动到得目标objectid
-- o_resulet out number
) RETURN INT AS -- 迁移是否成功 1:失败 0:成功
v_sourcePid VARCHAR2(30); -- 源目录的Pid
v_tagpid VARCHAR2(30); --目标目录的Pid
BEGIN
-- 入口参数判断
IF i_source_objid IS NULL OR i_tag_objid IS NULL THEN
RETURN 1;
END IF;
-- 存储他们各自的pid
select category.parentid
into v_sourcePid
from T_CMP_TYPE_CATEGORY category
where category.objectid = i_source_objid;
select category.parentid
into v_tagpid
from T_CMP_TYPE_CATEGORY category
where category.objectid = i_tag_objid;
if v_sourcePid = v_tagpid then
RETURN (1);
end if;
--上移的时候 i_source_objid > i_tag_objid
if i_source_objid > i_tag_objid then
------------------------ 更新 T_CMP_TYPE_CATEGORY ----------------------
--(源目录)
update T_CMP_TYPE_CATEGORY t
set t.objectid = i_tag_objid
where t.parentid = v_sourcePid
and t.objectid = i_source_objid;
--(目标目录)
update T_CMP_TYPE_CATEGORY t
set t.objectid = i_source_objid
where t.parentid = v_sourcePid
and t.objectid = i_tag_objid;
------------------------ 更新 T_CMP_EXT_MEDIACATEGORY ----------------------
--(源目录)
update T_CMP_EXT_MEDIACATEGORY t
set t.objectid = i_tag_objid
where t.objectid = i_source_objid;
--更新(目标目录)
update T_CMP_EXT_MEDIACATEGORY t
set t.objectid = i_source_objid
where t.objectid = i_tag_objid;
------------------------ 更新 T_CMP_TYPE_MEDIACATEGORY ----------------------
-- (源目录)
update T_CMP_TYPE_MEDIACATEGORY t
set t.objectid = i_tag_objid
where t.objectid = i_source_objid;
--(目标目录)
update T_CMP_TYPE_MEDIACATEGORY t
set t.objectid = i_source_objid
where t.objectid = i_tag_objid;
------------------------ 更新 mdsp_t_categoryinfo ------------------------
-- (源目录)
update mdsp_t_categoryinfo t
set t.objectid = i_tag_objid
where t.objectid = i_source_objid;
--(目标目录)
update mdsp_t_categoryinfo t
set t.objectid = i_source_objid
where t.objectid = i_tag_objid;
RETURN 0;
end if;
EXCEPTION
WHEN OTHERS THEN
RETURN 2;
END hello;
分享到:
相关推荐
因此,我们可以使用 Oracle 提供的方法来创建一个同名的函数 DATEADD,以便于移植使用。 DATEADD 函数的实现 ------------------ DATEADD 函数的实现主要是通过使用 PL/SQL 语言来编写一个存储过程。函数的输入...
### ORACLE CRC32函数详解 #### 一、概述 在Oracle数据库中,`CRC32`函数是一种非常实用的功能,主要用于将字符类型的数据转换为一个唯一的数字类型,这一过程通常被称为散列(Hash)。通过该函数,可以方便地生成...
Oracle字符相似度函数是Oracle数据库系统提供的一种功能,用于评估两个字符串之间的相似性。这个功能在数据清洗、信息检索、文本分析等领域具有广泛的应用。在SQL查询中,我们可以直接使用这些函数来比较不同字符串...
Oracle 自定义聚合函数是一种强大且灵活的功能,允许用户根据自己的需求创建自定义的聚合函数。聚合函数是一种特殊的函数,它可以对一组数据进行处理和计算,并返回一个结果。 Oracle 提供了一个名为 ODCIAggregate ...
Oracle 中实现 Split 函数功能 Oracle 中实现 Split 函数功能是指在 Oracle 数据库中实现类似于 C# 等编程语言中的 Split 函数,用于拆分字符的功能。下面是实现 Oracle 中 Split 函数功能的详细介绍。 首先,...
5. **序列对象**:Oracle中的序列在PostgreSQL中可以通过创建序列类型来模拟,orafce提供了类似于Oracle的序列操作函数。 6. **其他兼容性特性**:还包括异常处理、游标处理、包的创建等,以尽可能地模拟Oracle的...
### Oracle权限函数详解 在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对用户、角色及对象等数据库实体的访问控制。通过合理地分配权限,可以有效地保护数据的安全性和完整性,同时确保业务流程的正常...
oracle创建函数生成拼音码(汉字首字母)
### Oracle 创建wm_concat函数 #### 知识点一:Oracle 10G及以下版本的wm_concat函数自定义实现 在Oracle 10G及更早版本中,并没有内置的`wm_concat`函数,该函数主要用于对一组字符串进行连接操作。为了在这些...
Oracle SQL还支持自定义函数,使得开发人员能够创建特定业务逻辑的函数。 了解并熟练掌握这些内置函数对于优化查询性能、简化代码和提高工作效率至关重要。通过深入学习和实践,你可以更好地利用Oracle SQL解决各种...
ORACLE 常用分析函数说明 Oracle 分析函数从 8.1.6 版本开始提供,是一种计算基于组的聚合值的函数。它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数是分析函数工作的...
Oracle 10G是Oracle数据库的一个重要版本,它包含了丰富的函数和特性,为数据库管理和开发提供了强大的支持。本文将深入探讨Oracle 10G中的一些关键函数,旨在帮助你更好地理解和利用这些工具。 1. **数学函数**: ...
Oracle 递归函数介绍 Oracle 递归函数是一种特殊的PL/SQL函数,可以用于解决复杂的树形结构查询问题。递归函数可以自我调用,以便遍历树形结构的每个节点,直到达到停止条件。 在 Oracle 中,递归函数的定义语法...
本文将详细介绍两种在Oracle中实现字符串分割的方法:第一种是通过创建类型和管道函数的方式;第二种则是通过循环和子字符串处理实现的。 #### 二、第一种实现方式:创建类型和管道函数 ##### 1. 创建类型 `TY_STR...
下面通过几个例子来详细了解Oracle函数的创建与使用: #### 1. 创建不带参数的简单函数 ```sql CREATE OR REPLACE FUNCTION fun_test RETURN INTEGER IS BEGIN RETURN 1000; END; ``` 此函数名为`fun_test`,...
1. **创建Oracle函数**:在Oracle数据库中,我们首先需要创建一个自定义函数。例如,我们可以创建一个计算两个数字之和的函数`ADD_NUMBERS`: ```sql CREATE OR REPLACE FUNCTION ADD_NUMBERS(p_num1 NUMBER, p_...
1. Oracle数据库:确保已安装并配置了Oracle数据库,存储过程或函数已经在数据库中创建并可用。 2. JDBC驱动:安装Oracle的JDBC驱动,如ojdbc.jar,将其添加到项目的类路径中。 二、调用存储过程 1. 获取数据库连接...
Oracle数据库的SQL函数是数据库查询和管理中不可或缺的一部分,它们极大地丰富了SQL语言的功能,使得数据处理更加灵活和高效。以下是一些常见的Oracle SQL函数及其详细说明: 1. ASCII函数:ASCII函数返回一个字符...
Oracle分析函数是数据库管理系统Oracle中的一种高级SQL特性,它们在数据处理和分析中扮演着重要角色。分析函数允许用户在结果集的每一行上执行计算,不仅考虑当前行,还考虑了同一组内的其他行。这与传统的聚合函数...
### Oracle 创建函数及其调用 在Oracle数据库中,创建用户定义的函数是一种强大的工具,它允许开发者编写可重用的代码块,这些代码块可以执行复杂的业务逻辑,并返回计算结果。这种能力对于优化查询性能、简化应用...