我正在尝试将数据插入子类型表中,这是代码:
insert into person_tab
values( salesman_t( 's001', 'williams', 'john', 1990-02-01 , appoint_list_t() );
我收到一条错误消息,提示缺少逗号,不知道逗号还会去哪里?如果可以的话请帮忙。
最佳答案
让我们整理一下代码,然后看问题出在哪里:
INSERT
INTO person_tab
VALUES (
salesman_t( 's001',
'williams',
'john',
1990-02-01 ,
appoint_list_t())
);
现在对我来说,一个大的危险信号是第4个条目
1990-02-01
中的日期。在oracle中,如果要使用日期,则应将其真正包装在to_date函数中,以使它知道正确传递。您可以通过执行DATE
来检查列是否为desc person_tab
类型。...
TO_DATE('1990-02-01','YYYY-MM-DD') ,
appoint_list_t())
...
现在,代码的最大问题可能是您没有描述要插入此日期的列,而这些日期将提供您确实不想要的结果。您要执行的操作是:
INSERT INTO table
(column1, column2, ... )
VALUES
(expression1, expression2, ... );
将每一列匹配到其各自的表达式。
祝好运!
关于mysql - Oracle缺少逗号错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28477654/