我想知道通过sequence_within_parent列在层次结构查询中对子项进行排序的Oracle SQL查询.
示例数据集和查询是:
create table tasks (task_id number
,parent_id number
,sequence_within_parent number
,task varchar2(30)
);
insert into tasks values ( 1, NULL, 0, 'Task 1');
insert into tasks values ( 2, 1, 1, 'Task 1.1');
insert into tasks values ( 3, 1, 2, 'Task 1.2');
insert into tasks values ( 4, 2, 2, 'Task 1.1.2');
insert into tasks values ( 5, 3, 1, 'Task 1.2.1');
insert into tasks values ( 6, 2, 1, 'Task 1.1.1');
insert into tasks values ( …
Run Code Online (Sandbox Code Playgroud) 通过我的代码库中的各种代码,我有以下结构.对于我自己和其他人来说,使用heredoc对于理解代码是有好处的,但是通过网络将数据传输到数据库提供了不必要的批量.
use constant FIND_OBJECTS_SQL => <<' END_SQL';
select object_name
,object_type
,0 PAC_REF
,owner
from all_objects
where (object_name like upper(:1)
or object_name = upper(:1))
and object_type not in ('SYNONYM'
,'PACKAGE BODY')
END_SQL
$object_data = $dbh->selectall_arrayref(FIND_OBJECTS_SQL, $object_name);
Run Code Online (Sandbox Code Playgroud)
将"s /\s +// g"搜索和替换运算符应用于赋值的语法是什么.
以下两次尝试不起作用.
use constant FIND_OBJECTS_SQL => s/\s+/ /g <<' END_SQL';
Run Code Online (Sandbox Code Playgroud)
产生
Use of uninitialized value $_ in substitution (s///) at U:\junk.pl line 5.
Argument " END_SQL" isn't numeric in left bitshift (<<) at U:\junk.pl line 5.
Run Code Online (Sandbox Code Playgroud)
和
use constant FIND_OBJECTS_SQL => <<' …
Run Code Online (Sandbox Code Playgroud) 我的目标是每次将值分配给"受监视"变量时,我想:
一个真实世界的例子是当光标在文档周围移动时,状态栏中的编辑器中的光标位置会发生变化.
我理解,目标1.很容易满足以下片段.
$a = 52;
print LOG "\$a = [$a]\n";
Run Code Online (Sandbox Code Playgroud)
我的偏好是代码看起来像这样:
$a = 52;
Run Code Online (Sandbox Code Playgroud)
在其他地方(一个物体,一个过程,重载的操作员),神奇地发生了打印.