0
我读了一本关于oracle pl/SQL的书。在书中有一节介绍如何使用集合,它有一些代码来引入varray。而且我像我的蟾蜍一样在书中键入它,但是当我编译它时,在第16行中它告诉我“列不允许在这里”。所以我不确定发生了什么事,请谁能帮助我?oracle pl/sql collection varray
create type first_name_t is varray (2) of varchar2(100);
create type child_name_t is varray (1) of varchar2(100);
create table family
(
surname varchar2(1000),
parent_names first_name_t,
children_name child_name_t
);
declare
childen child_name_t := child_name_t();
parents first_name_t := first_name_t();
begin
parents.extend (2);
parents (1) := 'abc';
parents (2) := 'elssads';
childen.extend ;
childen(1) := 'fea';
insert into family(surname, parent_names, childen_name)
values ('Assurty', parents, children);
end;
观看错别字:申报值条款变量'childen'但'children';同时列名是'children_name',并且你插入'childen_name' – Husqvik
当'values(...)'子句中的某个部分既不是字面也不是命名变量时,ORACLE抛出'ORA-00984:column not allowed here' 。在这种情况下,这是因为你的代码中存在拼写错误。编程是关于细节的。编译器对拼写和语法非常烦琐,所以我们必须学会阅读我们实际输入的内容*,而不是我们输入的内容。 – APC
谢谢,我明白了@ husqvik –