Content

Oracle递归查询简单示例(oracle中递归函数的用法)深度揭秘

文章摘要

这篇文章展示了如何在PostgreSQL数据库中创建并填充一个层级分明的地理数据结构。首先,文章通过`CREATE TABLE`语句定义了一个包含`id`、`PARENT_ID`和`NAME`字段的表`area_test`。接着,使用`ALTER TABLE`语句添加了一个主键约束,确保`id`字段唯一性。文章随后通过`INSERT`语句向表中添加了多条数据,构建了一个从国家到乡镇的层级关系树。这些数据包括中国、省份、城市、区和乡镇,形成了一个完整的地理信息体系。文章的核心目的是展示如何通过简单的SQL指令快速构建一个结构化的地理数据模型。

create table area_test( id number(10) not null, parent_id number(10), name varchar2(255) not null ); alter table area_test add (constraint district_pk primary key (id)); insert into area_test (ID, PARENT_ID, NAME) values (1, null, ‘中国’); insert into area_test (ID, PARENT_ID, NAME) values (11, 1, ‘河南省’); insert into area_test (ID, PARENT_ID, NAME) values (12, 1, ‘北京市’); insert into area_test (ID, PARENT_ID, NAME) values (111, 11, ‘郑州市’); insert into area_test (ID, PARENT_ID, NAME) values (112, 11, ‘平顶山市’); insert into area_test (ID, PARENT_ID, NAME) values (113, 11, ‘洛阳市’); insert into area_test (ID, PARENT_ID, NAME) values (114, 11, ‘新乡市’); insert into area_test (ID, PARENT_ID, NAME) values (115, 11, ‘南阳市’); insert into area_test (ID, PARENT_ID, NAME) values (121, 12, ‘朝阳区’); insert into area_test (ID, PARENT_ID, NAME) values (122, 12, ‘昌平区’); insert into area_test (ID, PARENT_ID, NAME) values (1111, 111, ‘二七区’); insert into area_test (ID, PARENT_ID, NAME) values (1112, 111, ‘中原区’); insert into area_test (ID, PARENT_ID, NAME) values (1113, 111, ‘新郑市’); insert into area_test (ID, PARENT_ID, NAME) values (1114, 111, ‘经开区’); insert into area_test (ID, PARENT_ID, NAME) values (1115, 111, ‘金水区’); insert into area_test (ID, PARENT_ID, NAME) values (1121, 112, ‘湛河区’); insert into area_test (ID, PARENT_ID, NAME) values (1122, 112, ‘舞钢市’); insert into area_test (ID, PARENT_ID, NAME) values (1123, 112, ‘宝丰市’); insert into area_test (ID, PARENT_ID, NAME) values (11221, 1122, ‘尚店镇’);