插入时分层生成的树代码

迷你哈姆扎

http://i.stack.imgur.com/weX9W.jpg

在我表中的每个插入上,我都想基于要插入的对象的父代的代码生成此代码(1、1.1、1.2 ...)。

我的方法是这样的:-使一些SQL函数以某种方式生成此代码,并且将在表中的每个插入处通过触发器调用她。

字符串解析有些困难,那么您认为什么是最佳解决方案?谢谢。

思考长臂猿

您可以找到父对象,假设它的代码是1.3,然后计算同一个父对象的兄弟姐妹行,比如您发现了2个兄弟。因此,您的新代码值为1.3.3。但是此方法需要从触发器可以使用的同一表中进行选择。当您一次插入多行时,这可能会导致“ ORA-04091:表名正在更改,触发器/函数可能看不到它”。有一些变通办法可以避免这种情况。

另一种方法是使用基于此查询的视图,而不是触发器:

select id, pid, ltrim(sys_connect_by_path(rn, '.'),'.') code
  from (
    select id, pid, 
           row_number() over (partition by level, pid order by seq) rn
      from data connect by pid = prior id
      start with pid is null )
  connect by pid = prior id
  start with pid is null

SQLFiddle演示

它要求您的表包含seq允许对行进行正确排序的列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AVL树如何在插入时平衡树

来自分类Dev

jdbi返回插入时自动生成的值

来自分类Dev

使用插入时的主键生成器

来自分类Dev

如何从分层数据生成剑道树视图?AngularJS

来自分类Dev

USB拓扑-分层星形和生成树的差异

来自分类Dev

分层查询,帐户树

来自分类Dev

在插入符号位置插入覆盖生成的代码?

来自分类Dev

在插入时在SQL中自动生成uniqueidentifier的问题

来自分类Dev

查询生成器未插入时间戳

来自分类Dev

分层代码优先EF绑定到WPF树视图...不可能

来自分类Dev

分层代码优先EF绑定到WPF树视图...不可能

来自分类Dev

在顺序5的B树中的完整节点中插入时,哪个项目上升?为什么?

来自分类Dev

打印分层树的编号轮廓

来自分类Dev

在javascript中创建分层树

来自分类Dev

从定制设计的抽象语法树生成Python代码

来自分类Dev

用于C ++抽象语法树组成和代码生成的库

来自分类Dev

悬停图标插入时

来自分类Dev

插入时的索引性能

来自分类Dev

RecyclerView在插入时滚动

来自分类Dev

在插入时出现错误

来自分类Dev

插入时比较值

来自分类Dev

MySQL 插入时重复

来自分类Dev

有没有办法避免在插入时复制二叉树的整个搜索路径?

来自分类Dev

如何在EF中使用代码First插入时间戳字段

来自分类Dev

SQL Server数据库在插入时生成一个已经存在的密钥,为什么?

来自分类Dev

C编程树树插入

来自分类Dev

以分层/树格式打印JSON对象

来自分类Dev

如何呈现ID树/分层查询

来自分类Dev

提交新输入时更新包含 php 生成的 <ul> 代码的 DIV