如何在sql中创建嵌套表

Posted

技术标签:

【中文标题】如何在sql中创建嵌套表【英文标题】:How to create nested tables in sql 【发布时间】:2020-08-09 13:33:31 【问题描述】:

我正在尝试在 sql 中为汽车网站创建一个嵌套表。所以我可以从数据库中获取数据并在我的网站中包含下拉菜单(我正在使用 phphtml 和 css)

所以我想创建一个这样的下拉菜单。当我选择下拉菜单的第一个选项时,第二个选项会根据之前的选择出现。这是我截取上面所附屏幕截图的网站链接(图片)https://carbuyersonline.com.au/

     CREATE OR REPLACE TYPE my_nested_table IS TABLE OF VARCHAR2 (10);
       /
    create table car (
    year int(11) not null, 
    model varchar(128) not null, 
    shape varchar(128) not null, 
    badge varchar(128) not null,
    engineofcar varchar(128) not null,


  make my_nested_table  //here it says unrecorgnised data type near my_nested_table

  )NESTED TABLE make STORE AS nested_make;
  /

 DESC alfa_romeo;
 INSERT INTO alfa_romeo(model, shape, badge, engineofcar)
 VALUES ("Giulia", "4 Door Sedan", "Auto MY19, Quadrifoglio Auto MY19, Super 
 Auto MY19, Veloce", "4 Cylinder, 2.0 Litre - Petrol");

   //I added same code again just to show example but it will be different car next time

 DESC alfa_romeo;
INSERT INTO alfa_romeo(model, shape, badge, engineofcar)
VALUES ("Giulia", "4 Door Sedan", "Auto MY19, Quadrifoglio Auto MY19, Super 
Auto MY19, Veloce", "4 Cylinder, 2.0 Litre - Petrol");

上面的错误我已经提到了,在代码旁边

     make my_nested_table  //here it says unrecorgnised data type 
    my_nest_table) 

感谢任何帮助。另外,有没有更好的方法呢?

【问题讨论】:

您是否尝试在创建类型时包含架构名称? @KMoe 那是什么? @Hemlata 创建或替换类型 schema_name。我的嵌套表。默认值通常是 dbo,因此请尝试 CREATE OR REPLACE TYPE dbo。我的嵌套表 @APC “您需要发布实际复制它的帖子”是什么意思?我不明白。但是,如果我知道我必须发布什么,我会很乐意发布。 @KMoe 我试过了,但我仍然有同样的错误。 【参考方案1】:

我不熟悉 Xampp,所以我不确定确切的代码是什么。看来您可能已经创建了一个表数据类型,但没有先定义它。 也许你可以尝试这样的事情:

CREATE or REPLACE TYPE my_nested_table AS OBJECT 
(table_column1 VARCHAR2(10), table_column2 VARCHAR2(10));

CREATE or REPLACE TYPE my_nested_table_type AS TABLE OF 
my_nested_table;

如果这不是他正确/准确的语法,希望我已经将您推向了正确的方向!

【讨论】:

以上是关于如何在sql中创建嵌套表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用角材料在具有可扩展行的表中创建嵌套垫表

在 1 行中创建具有 2 个不同数据的嵌套表

如何在BigQuery中创建嵌套字段和数组的数组

在 Relay 中创建嵌套突变会引发未知字段

当嵌套表属于记录类型时,如何将数据填充到 Oracle 中的嵌套表中

如何将值插入到python中的嵌套表中?